Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
| Valor | 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.
Al ejecutar RECONFIGURE, y si el valor de ejecución de la opción clr enabled cambia de 1 a 0, todos los dominios de aplicación que contengan ensamblados de usuario se descargan inmediatamente.
Limitaciones
La ejecución del Common Language Runtime (CLR) no es compatible con el agrupamiento ligero
Deshabilite una de estas 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 Configuración de servidor: agrupación ligera.
Aunque la opción de configuración clr enabled está habilitada en la base de datos de Azure SQL, no se admite el desarrollo de funciones de usuario CLR en la base de datos de Azure SQL.
La seguridad de acceso al código ya no es compatible
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. En SQL Server 2017 (14.x) y versiones posteriores, la opción sp_configure, CLR Strict Security, mejora 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.
Se recomienda firmar todos los ensamblados mediante un certificado o una clave asimétrica, con el correspondiente inicio de sesión que tenga concedido el permiso UNSAFE ASSEMBLY en la base de datos master. 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, consulte sys.sp_add_trusted_assembly.
Ejemplos
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.
EXECUTE sp_configure 'clr enabled';
EXECUTE sp_configure 'clr enabled', '1';
RECONFIGURE;