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.
Applies to:SQL Server
El código administrado se compila y, a continuación, se implementa en unidades denominadas ensamblado de Common Language Runtime (CLR). Un ensamblado se empaqueta como un archivo DLL o ejecutable (.exe). Aunque un archivo ejecutable se puede ejecutar solo, una DLL se debe hospedar en una aplicación existente. Los ensamblados DLL administrados se pueden cargar en SQL Server y hospedarlos. SQL Server requiere que registre el ensamblado en una base de datos mediante la instrucción CREATE ASSEMBLY, para poder cargarlo en el proceso y usarlo. Los ensamblados también se pueden actualizar desde una versión más reciente mediante la instrucción ALTER ASSEMBLY o quitarse de SQL Server mediante la instrucción DROP ASSEMBLY.
La información del ensamblado se almacena en la tabla sys.assembly_files de la base de datos donde está instalado el ensamblado. La tabla sys.assembly_files contiene las columnas siguientes.
| Column | Description |
|---|---|
assembly_id |
Identificador definido para el ensamblado. Este número se asigna a todos los objetos relacionados con el mismo ensamblado. |
name |
El nombre del objeto. |
file_id |
Número que identifica cada objeto, con el primer objeto asociado a un assembly_id dado que se le asigna el valor de 1. Si hay varios objetos asociados a la misma assembly_id, cada valor de file_id posterior se incrementa en 1. |
content |
Representación hexadecimal del ensamblado o archivo. |
En esta sección
| Article | Description |
|---|---|
| Crear un ensamblado | Describe la creación de ensamblados CLR de SAFE, EXTERNAL_ACCESSy UNSAFE en SQL Server |
| Modificar un ensamblado | Describe la actualización de ensamblados CLR en SQL Server |
| Quitar un ensamblado | Describe la eliminación de ensamblados CLR de SQL Server |
Ya no se admite la seguridad de acceso del código
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. For more information, see sys.sp_add_trusted_assembly.
Related content
- de seguridad de integración clR
- Seguridad de acceso al código de integración clR