Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O CLR (Common Language Runtime) é 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 diversas funções e serviços necessários para a execução de programas, incluindo a compilação JIT (Just-In-Time), alocação e gerenciamento de memória, imposição de segurança de tipos, 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 no código gerenciado. Como o código gerenciado é compilado para o código nativo antes da execução, você pode obter aumentos de desempenho significativos em alguns cenários.
O código gerenciado em execução no .NET Framework usa CAS (Code Access Security), 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 impedir o comprometimento do sistema operacional ou do servidor de banco de dados.
Observação
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 honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para 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 deve ser abrangente. Para obter informações mais detalhadas, consulte a visão geral da integração do CLR (Common Language Runtime).
Habilitando 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 de CLR usando Transact-SQL, use a opção clr enabled do procedimento armazenado sp_configure conforme mostrado:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
Você pode desabilitar a integração de CLR configurando a opção clr enabled como 0. Quando você desabilitar a integração clr, o SQL Server para de executar todas as rotinas clr e descarrega todos os domínios do aplicativo.
Para obter informações mais detalhadas, consulte Habilitando a Integração CLR.
Implantando um assembly de CLR
Depois que os métodos CLR tiverem sido testados e verificados no servidor de teste, eles poderão ser distribuídos para 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
Segurança da integração CLR
O modelo de segurança da integração do Microsoft SQL Server com o CLR (Common Language Runtime) 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 CLR Integration Security.
Depurando um assembly de CLR
O Microsoft SQL Server fornece suporte para depuração de objetos CLR (common language runtime) e Transact-SQL no banco de dados. Depurar funciona entre linguagens: os usuários podem entrar perfeitamente em objetos CLR de Transact-SQL e vice-versa.
Para obter informações mais detalhadas, consulte Depurando objetos de banco de dados CLR.