Opção clr enabled de configuração de servidorclr enabled Server Configuration Option

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Use a opção clr habilitado para especificar se assemblies de usuário podem ser executados pelo SQL ServerSQL Server.Use the clr enabled option to specify whether user assemblies can be run by SQL ServerSQL Server. A opção clr enabled fornece os seguintes valores:The clr enabled option provides the following values:

ValorValue DescriçãoDescription
00 Execução de assembly não permitida no SQL ServerSQL Server.Assembly execution not allowed on SQL ServerSQL Server.
11 Execução de assembly permitida no SQL ServerSQL Server.Assembly execution allowed on SQL ServerSQL Server.

Somente WOW64.WOW64 only. Reinicie os servidores WOW64 para fazer com que as alterações de configurações tenham efeito.Restart WOW64 servers to effect the settings changes. A reinicialização não é necessária para outros tipos de servidores.No restart required for other server types.

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.When you run RECONFIGURE, and the run value of the clr enabled option is changed from 1 to 0, all application domains containing user assemblies are immediately unloaded.

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".Common language runtime (CLR) execution is not supported under lightweight pooling Disable one of two options: "clr enabled" or "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.Features that rely upon CLR and that do not work properly in fiber mode include the hierarchyid data type, the FORMAT function, replication, and Policy-Based Management.

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.CLR uses Code Access Security (CAS) in the .NET Framework, which is no longer supported as a security boundary. 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 CLR assembly created with PERMISSION_SET = SAFE may be able to access external system resources, call unmanaged code, and acquire sysadmin privileges. A partir do SQL Server 2017 (14.x)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.Beginning with SQL Server 2017 (14.x)SQL Server 2017 (14.x), an sp_configure option called clr strict security is introduced to enhance the security of CLR assemblies. A clr strict security está habilitada por padrão e trata assemblies SAFE e EXTERNAL_ACCESS como se eles fossem marcados como UNSAFE.clr strict security is enabled by default, and treats SAFE and EXTERNAL_ACCESS assemblies as if they were marked UNSAFE. A opção clr strict security pode ser desabilitada para compatibilidade com versões anteriores, mas isso não é recomendado.The clr strict security option can be disabled for backward compatibility, but this is not recommended. 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.Microsoft recommends that all assemblies be signed by a certificate or asymmetric key with a corresponding login that has been granted UNSAFE ASSEMBLY permission in the master database. Os administradores do SQL ServerSQL Server também podem adicionar assemblies a uma lista de assemblies, na qual o Mecanismo de Banco de Dados deve confiar.SQL ServerSQL Server administrators can also add assemblies to a list of assemblies, which the Database Engine should trust. Para obter mais informações, consulte sys.sp_add_trusted_assembly.For more information, see sys.sp_add_trusted_assembly.

ExemploExample

O exemplo a seguir primeiro mostra a configuração atual da opção clr enabled e, em seguida, habilita a opção configurando o valor da opção como 1.The following example first displays the current setting of the clr enabled option and then enables the option by setting the option value to 1. Para desabilitar a opção, defina o valor para 0.To disable the option, set the value to 0.

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

Consulte TambémSee Also

Opção lightweight pooling de configuração de Servidor lightweight pooling Server Configuration Option
Opções de configuração do servidor (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
Opção lightweight pooling de configuração de Servidorlightweight pooling Server Configuration Option