Compartir vía


Administración de ensamblados de integración clR

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.