clr enabled (opción de configuración del servidor)

Se aplica a:SQL Server

Utilice la opción clr enabled para especificar si SQL Server puede ejecutar ensamblados de usuario. La opción clr enabled proporciona los valores que se indican a continuación:

Value Descripción
0 Ejecución de ensamblado no permitida en SQL Server.
1 Ejecución de ensamblado permitida en SQL Server.

Solo para WOW64: reinicie los servidores WOW64 para aplicar estos cambios. No se requiere el reinicio para otros tipos de servidor.

Cuando se ejecuta RECONFIGURE y se cambia el valor de ejecución de la opción clr enabled de 1 a 0, se descargan inmediatamente todos los dominios de aplicación que incluyen ensamblados de usuario.

Importante

No se admite la ejecución de Common Language Runtime (CLR) con agrupación ligera. Deshabilite una de las dos opciones: "clr enabled" o "lightweight pooling". Entre las características que dependen de CLR y que no funcionan correctamente en modo de fibra se encuentran el tipo de datos hierarchyid, la función FORMAT, la replicación y la administración basada en directivas. Para obtener más información, consulte agrupación ligera (opción de configuración del servidor).

Advertencia

CLR usa la seguridad de acceso del código (CAS) de .NET Framework, que ya no se admite como un límite de seguridad. Un ensamblado CLR creado con la opción PERMISSION_SET = SAFE puede tener acceso a los recursos externos del sistema, llamar a código no administrado y adquirir privilegios sysadmin. A partir de SQL Server 2017 (14.x), se incluye una opción de sp_configure denominada clr strict security para mejorar la seguridad de los ensamblados CLR. La opción clr strict security está habilitada de forma predeterminada y trata los ensamblados SAFE y EXTERNAL_ACCESS como si estuvieran marcados con UNSAFE. La opción clr strict security se puede deshabilitar para permitir la compatibilidad con versiones anteriores, pero no se recomienda hacerlo. Microsoft recomienda que todos los ensamblados estén firmados con un certificado o clave asimétrica con el correspondiente inicio de sesión que tenga concedido el permiso UNSAFE ASSEMBLY en la base de datos maestra. Los administradores de SQL Server también pueden agregar ensamblados a una lista de los ensamblados en los que el motor de base de datos debe confiar. Para más información, vea sys.sp_add_trusted_assembly.

Nota

Aunque la opción de configuración clr enabled está habilitada en Azure SQL Database, no se admite el desarrollo de funciones de usuario CLR en Azure SQL Database.

Ejemplo

El ejemplo siguiente muestra primero la configuración actual de la opción clr enabled y después habilita la opción estableciendo su valor en 1. Para deshabilitar la opción, establezca el valor en 0.

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

Pasos siguientes