Introdução à Integração CLR SQL Server

O tempo de execução da linguagem comum (CLR) é o coração da .NET Framework e fornece o ambiente de execução para todos .NET Framework código. O código que funciona dentro do CLR é referido como código gerido. O CLR fornece várias funções e serviços necessários para a execução do programa, incluindo a compilação just-in-time (JIT), alocar e gerir a memória, impor a segurança do tipo, o manuseamento de exceções, a gestão dos fios e a segurança.

Com o CLR hospedado em Microsoft SQL Server (chamada integração CLR), pode autor de procedimentos armazenados, gatilhos, funções definidas pelo utilizador, tipos definidos pelo utilizador e agregados definidos pelo utilizador em código gerido. Como o código gerido compila o código nativo antes da execução, pode obter aumentos significativos de desempenho em alguns cenários.

Código gerido em execução em .NET Framework utiliza código de segurança de acesso (CAS), ligações de código e domínios de aplicação para impedir que os conjuntos realizem determinadas operações. SQL Server utiliza o CAS para ajudar a proteger o código gerido e evitar o compromisso do sistema operativo ou servidor de base de dados.

Nota

A Code Access Security (CAS) foi depreciada em todas as versões de .NET Framework e .NET. Versões recentes de .NET não honram as anotações CAS e produzem erros se forem utilizadas APIs relacionadas com o CAS. Os desenvolvedores devem procurar meios alternativos para realizar tarefas de segurança.

Esta secção destina-se a fornecer apenas informações suficientes para iniciar a programação com SQL Server integração CLR, e não se destina a ser abrangente. Para obter informações mais detalhadas, consulte a visão geral da integração da linguagem comum (CLR).

Permitir a integração do CLR

A funcionalidade de integração da linguagem comum (CLR) está desligada por padrão em Microsoft SQL Server, e deve ser ativada para utilizar objetos que são implementados usando a integração CLR. Para permitir a integração clr utilizando a transact-SQL, utilize a opção clr enabled do sp_configure procedimento armazenado como mostrado:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Pode desativar a integração clr definindo a opção clr enabled para 0. Quando desativa a integração do CLR, SQL Server deixa de executar todas as rotinas CLR e descarrega todos os domínios de aplicação.

Para obter informações mais detalhadas, consulte Habilitar a integração do CLR.

Implantação de uma Montagem CLR

Uma vez testados e verificados os métodos CLR no servidor de teste, podem ser distribuídos para servidores de produção utilizando um script de implementação. O script de implementação pode ser gerado manualmente, ou utilizando SQL Server Management Studio. Para obter informações mais detalhadas, consulte a versão da documentação SQL Server para a versão de SQL Server que está a utilizar.

documentação SQL Server

  1. Implantação de objetos de base de dados CLR

Segurança de Integração CLR

O modelo de segurança da integração Microsoft SQL Server com o tempo de execução da linguagem comum microsoft .NET Framework (CLR) gere e assegura o acesso entre diferentes tipos de objetos CLR e não-CLR que funcionam dentro de SQL Server. Estes objetos podem ser chamados por uma declaração de SQL Transact ou por outro objeto CLR que esteja a funcionar no servidor.

Para obter informações mais detalhadas, consulte a ClR Integration Security.

Depurar uma Assembléia CLR

Microsoft SQL Server fornece suporte para depuração de objetos de SQL e linguagem comum (CLR) na base de dados. Depurar funciona através de idiomas: os utilizadores podem entrar perfeitamente em objetos CLR de Transact-SQL, e vice-versa.

Para obter informações mais detalhadas, consulte depurando os objetos de base de dados clr.

Ver também