Поделиться через


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

Область применения: SQL Server

Сборки, зарегистрированные в 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. Следующая инструкция изменяет набор разрешений сборки SQLCLRTest на EXTERNAL_ACCESS.

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 к сборке Point UDT. В результате этого текст, содержащийся в файле Point.cs, будет скопирован и сохранен в базе данных с именем PointSource.

ALTER ASSEMBLY Point

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

См. также

Управление сборками интеграции со средой CLR
Создание сборки
Удаление сборки
ALTER ASSEMBLY (Transact-SQL)