Изменение сборки
Область применения: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.
Изменение набора разрешений сборки
Набор разрешений сборки также можно изменить с помощью инструкции ALTER ASSEMBLY
. Следующая инструкция изменяет набор разрешений сборки SQLCLRTest
на EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Если набор разрешений сборки изменяется с SAFE
на EXTERNAL_ACCESS
или UNSAFE
, необходимо сначала создать асимметричный ключ и соответствующее имя входа с разрешением EXTERNAL ACCESS ASSEMBLY
или разрешением UNSAFE ASSEMBLY
для сборки. Дополнительные сведения см. в статье Создание сборки.
Добавление исходного кода сборки
Предложение ADD FILE
в синтаксисе ALTER ASSEMBLY
отсутствует в CREATE ASSEMBLY
. Оно обеспечивает возможность добавления исходного кода или любых других файлов, связанных со сборкой. Файлы копируются из исходных расположений и сохраняются в системных таблицах базы данных. Таким образом, у вас всегда есть исходный код или другие файлы, если вам нужно повторно создать или документировать текущую версию определяемого пользователем типа (UDT).
Следующая инструкция добавляет исходный код класса Point.cs
для Point
определяемого пользователем кода. Он копирует текст, содержащийся в файле Point.cs
, и сохраняет его в базе данных под именем PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;