Partilhar via


Introdução à integração CLR do SQL Server

O Common Language Runtime (CLR) é o coração do .NET Framework e fornece o ambiente de execução para todo o código do .NET Framework. O código executado dentro do CLR é chamado de código gerenciado. O CLR fornece várias funções e serviços necessários para a execução do programa, incluindo compilação just-in-time (JIT), alocação e gerenciamento de memória, imposição de segurança de tipo, tratamento de exceções, gerenciamento de threads e segurança.

Com o CLR hospedado no Microsoft SQL Server (chamado de integração CLR), você pode criar procedimentos armazenados, gatilhos, funções definidas pelo usuário, tipos definidos pelo usuário e agregações definidas pelo usuário em código gerenciado. Como o código gerenciado é compilado para código nativo antes da execução, você pode obter aumentos significativos de desempenho em alguns cenários.

O código gerenciado em execução no .NET Framework usa CAS (Segurança de Acesso ao Código), links de código e domínios de aplicativo para impedir que assemblies executem determinadas operações. O SQL Server usa o CAS para ajudar a proteger o código gerenciado e evitar o comprometimento do sistema operacional ou do servidor de banco de dados.

Nota

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.

Esta seção destina-se a fornecer apenas informações suficientes para começar a programar com a integração CLR do SQL Server e não se destina a ser abrangente. Para obter informações mais detalhadas, consulte Visão geral da integração do Common Language Runtime (CLR).

Habilitando a integração CLR

O recurso de integração CLR (Common Language Runtime) está desativado por padrão no Microsoft SQL Server e deve ser habilitado para usar objetos implementados usando a integração CLR. Para habilitar a integração CLR usando Transact-SQL, use a clr enabled opção do sp_configure procedimento armazenado conforme mostrado:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Você pode desabilitar a integração CLR definindo a clr enabled opção como 0. Quando você desabilita a integração CLR, o SQL Server para de executar todas as rotinas CLR e descarrega todos os domínios de aplicativo.

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

Implantando um assembly CLR

Depois que os métodos CLR tiverem sido testados e verificados no servidor de teste, eles poderão ser distribuídos aos servidores de produção usando um script de implantação. O script de implantação pode ser gerado manualmente ou usando o SQL Server Management Studio. Para obter informações mais detalhadas, consulte a versão da documentação do SQL Server para a versão do SQL Server que você está usando.

Documentação do SQL Server

  1. Implantando objetos de banco de dados CLR

Segurança de integração CLR

O modelo de segurança da integração do Microsoft SQL Server com o Common Language Runtime (CLR) do Microsoft .NET Framework gerencia e protege o acesso entre diferentes tipos de objetos CLR e não CLR em execução no SQL Server. Esses objetos podem ser chamados por uma instrução Transact-SQL ou outro objeto CLR em execução no servidor.

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

Depurando um assembly CLR

O Microsoft SQL Server fornece suporte para depuração de objetos Transact-SQL e CLR (Common Language Runtime) no banco de dados. A depuração funciona em vários idiomas: os usuários podem entrar perfeitamente em objetos CLR a partir do Transact-SQL e vice-versa.

Para obter informações mais detalhadas, consulte Depurando objetos de banco de dados CLR.

Consulte também