clr enabled (opção de configuração do servidor)

Aplica-se a:SQL Server

Use a opção clr enabled para especificar se assemblies de usuário podem ser executados pelo SQL Server. A opção clr enabled fornece os seguintes valores:

Valor Descrição
0 Execução de assembly não permitida no SQL Server.
1 Execução de assembly permitida no SQL Server.

Somente para WOW64: reinicie os servidores WOW64 para aplicar essas alterações. A reinicialização não é necessária para outros tipos de servidores.

Ao executar RECONFIGURE e o valor de execução da opção clr enabled é alterado de 1 para 0, todos os domínios de aplicativo que contêm assemblies de usuário são descarregados imediatamente.

Importante

Não há suporte à execução de CLR (Common Language Runtime) com lightweight pooling Desabilite uma das duas opções: "clr enabled" ou "lightweight pooling". Os recursos que dependem do CLR e que não funcionam corretamente no modo fibra incluem o tipo de dados hierarchyid, a função FORMAT, a replicação e o gerenciamento baseado em políticas. Para saber mais, confira Opção de configuração do servidor de lightweight pooling

Aviso

O CLR usa o CAS (Segurança de Acesso do Código) no .NET Framework, para o qual não há mais suporte como um limite de segurança. Um assembly CLR criado com o PERMISSION_SET = SAFE pode conseguir acessar recursos externos do sistema, chamar um código não gerenciado e adquirir privilégios sysadmin. A partir do SQL Server 2017 (14.x), uma opção sp_configure chamada clr strict security é introduzida, a fim de aumentar a segurança de assemblies CLR. A clr strict security está habilitada por padrão e trata assemblies SAFE e EXTERNAL_ACCESS como se eles fossem marcados como UNSAFE. A opção clr strict security pode ser desabilitada para compatibilidade com versões anteriores, mas isso não é recomendado. A Microsoft recomenda que todos os assemblies sejam assinados por um certificado ou uma chave assimétrica com um logon correspondente que recebeu a permissão UNSAFE ASSEMBLY no banco de dados mestre. Os administradores do SQL Server também podem adicionar assemblies a uma lista de assemblies, na qual o Mecanismo de Banco de Dados deve confiar. Para obter mais informações, consulte sys.sp_add_trusted_assembly.

Observação

Embora a opção de configuração clr enabled esteja no Banco de Dados SQL do Azure, não há suporte para o desenvolvimento de funções de usuário CLR no Banco de Dados SQL do Azure.

Exemplo

O exemplo a seguir primeiro mostra a configuração atual da opção clr enabled e habilita a opção configurando o valor da opção como 1. Para desabilitar a opção, defina o valor para 0.

EXEC sp_configure 'clr enabled';  
EXEC sp_configure 'clr enabled' , '1';  
RECONFIGURE;    

Próximas etapas