Изменение сборки

Сборки, зарегистрированные в SQL Server, можно обновить с помощью инструкции ALTER ASSEMBLY. Чтобы обновить сборку, используйте инструкцию ALTER ASSEMBLY со следующим синтаксисом:

ALTER ASSEMBLY SQLCLRTest  
FROM 'C:\MyDBApp\SQLCLRTest.dll'  

ALTER ASSEMBLY не нарушает выполняемые в настоящее время процессы, использующие сборку; Процессы продолжают выполняться с неуправляемой сборкой. ALTER ASSEMBLY нельзя использовать для изменения подписей функций среды CLR, агрегатных функций, хранимых процедур и триггеров. Новые открытые методы можно добавить в сборку, частные методы можно изменить любым способом, и общедоступные методы можно изменить, пока сигнатуры или атрибуты не изменяются. Поля, содержащиеся в собственном сериализованном пользовательском типе, включая члены данных или базовые классы, нельзя изменить с помощью ALTER ASSEMBLY. Любые другие изменения не поддерживаются. Дополнительные сведения см. в разделе ALTER ASSEMBLY (Transact-SQL).

Изменение набора разрешений сборки

Набор разрешений сборки также можно изменить с помощью инструкции ALTER ASSEMBLY. Следующая инструкция изменяет набор разрешений сборки EXTERNAL_ACCESSSQLCLRTest на .

ALTER ASSEMBLY SQLCLRTest  
WITH PERMISSION_SET = EXTERNAL_ACCESS   

Если набор разрешений сборки изменяется с SAFE на EXTERNAL_ACCESS или UNSAFE, необходимо сначала создать асимметричный ключ и соответствующее имя входа с разрешением EXTERNAL ACCESS ASSEMBLY или разрешением UNSAFE ASSEMBLY для сборки. Дополнительные сведения см. в статье Creating an Assembly.

Добавление исходного кода сборки

Предложение ADD FILE в синтаксисе ALTER ASSEMBLY отсутствует в CREATE ASSEMBLY. Оно обеспечивает возможность добавления исходного кода или любых других файлов, связанных со сборкой. Файлы копируются из исходных расположений и сохраняются в системных таблицах базы данных. Это обеспечивает постоянную доступность исходного кода или других файлов на тот случай, если возникнет необходимость повторного создания или документирования текущей версии определяемого пользователем типа.

Следующая инструкция добавляет исходный код класса Point.cs для UDT Point. Это копирует текст, содержащийся в файле Point.cs, и сохраняет его в базе данных под именем PointSource.

ALTER ASSEMBLY Point

ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource

См. также

Управление сборками интеграции CLR
Создание сборки
Удаление сборки
ИЗМЕНИТЬ СБОРКУ (Transact-SQL)