Modificar un ensamblado
Se aplica a:SQL Server
Los ensamblados registrados en SQL Server se pueden actualizar desde una versión más reciente mediante la instrucción ALTER ASSEMBLY
. Para actualizar un ensamblado, use la instrucción ALTER ASSEMBLY
con la sintaxis siguiente:
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
no interrumpe los procesos actualmente en ejecución que usan el ensamblado; los procesos continúan ejecutándose con el ensamblado no modificado.
ALTER ASSEMBLY
no se puede usar para cambiar las firmas de las funciones de Common Language Runtime (CLR), las funciones de agregado, los procedimientos almacenados y los desencadenadores. Puede agregar nuevos métodos públicos al ensamblado, los métodos privados se pueden modificar de cualquier manera y los métodos públicos se pueden modificar siempre y cuando no se cambien las firmas o los atributos. Los campos contenidos en un tipo definido por el usuario serializado de forma nativa, incluidos los miembros de datos o las clases base, no se pueden cambiar mediante ALTER ASSEMBLY
. No se admiten otros cambios. Para obtener más información, vea ALTER ASSEMBLY.
Cambiar el conjunto de permisos de un ensamblado
El conjunto de permisos de un ensamblado también se puede cambiar mediante la instrucción ALTER ASSEMBLY
. La siguiente instrucción cambia el conjunto de permisos del ensamblado de SQLCLRTest
a EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Si el conjunto de permisos de un ensamblado se cambia de SAFE
a EXTERNAL_ACCESS
o UNSAFE
, primero se debe crear una clave asimétrica y el inicio de sesión correspondiente con EXTERNAL ACCESS ASSEMBLY
permiso o UNSAFE ASSEMBLY
permiso para el ensamblado. Para obtener más información, vea Crear un ensamblado.
Adición del código fuente de un ensamblado
La cláusula ADD FILE
de la sintaxis ALTER ASSEMBLY
no está presente en CREATE ASSEMBLY
. Puede usarla para agregar código fuente o cualquier otro archivo asociado a un ensamblado. Los archivos se copian desde sus ubicaciones originales y se almacenan en tablas del sistema en la base de datos. De este modo, siempre tiene código fuente u otros archivos en caso de que tenga que volver a crear o documentar la versión actual del tipo definido por el usuario (UDT).
La siguiente instrucción agrega el código fuente de la clase Point.cs
para el UDT de Point
. Copia el texto contenido en el archivo Point.cs
y lo almacena en la base de datos bajo el nombre PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;