Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сборки, зарегистрированные в SQL Server с помощью инструкции CREATE ASSEMBLY, могут быть удалены или удалены, если предоставляемые функции больше не требуются. При удалении сборки из базы данных удаляются и все связанные с ней файлы, такие как файлы отладки. Чтобы удалить сборку, используйте инструкцию DROP ASSEMBLY со следующим синтаксисом:
DROP ASSEMBLY MyDotNETAssembly
DROP ASSEMBLY не вмешивается в любой код, ссылающийся на сборку, которая в настоящее время выполняется, но после выполнения DROP ASSEMBLY любые попытки вызова кода сборки завершаются сбоем.
DROP ASSEMBLY возвращает ошибку, если сборка ссылается на другую сборку, которая существует в базе данных, или если она используется функциями среды CLR, процедурами, триггерами, определяемыми пользователем типами (определяемыми пользователем) или определяемыми пользователем агрегатами (определяемыми пользователем) в текущей базе данных. Сначала используйте инструкции DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, DROP TRIGGER и DROP TYPE для удаления всех объектов управляемой базы данных, содержащихся в сборке.
Удаление определяемого пользователем набора данных из базы данных
Инструкция DROP TYPE удаляет UDT из текущей базы данных. После удаления определяемого пользователем объекта можно использовать инструкцию DROP ASSEMBLY, чтобы удалить сборку из базы данных.
Инструкция DROP TYPE завершается ошибкой, если объекты зависят от определяемого пользователем типа, как в следующих ситуациях:
Таблицы в базе данных, которые содержат столбцы, определенные с помощью определяемого пользователем типа.
Функции, хранимые процедуры или триггеры, использующие переменные или параметры UDT, созданные в базе данных с предложением WITH SCHEMABINDING.
Поиск зависимостей UDT
Сначала необходимо удалить все зависимые объекты, а затем выполнить инструкцию DROP TYPE. Следующий Transact-SQL запрос находит все столбцы и параметры, использующие UDT в базе данных AdventureWorks .
USE Adventureworks;
SELECT o.name AS major_name, o.type_desc AS major_type_desc
, c.name AS minor_name, c.type_desc AS minor_type_desc
, at.assembly_class
FROM (
SELECT object_id, name, user_type_id, 'SQL_COLUMN' AS type_desc
FROM sys.columns
UNION ALL
SELECT object_id, name, user_type_id, 'SQL_PROCEDURE_PARAMETER'
FROM sys.parameters
) AS c
JOIN sys.objects AS o
ON o.object_id = c.object_id
JOIN sys.assembly_types AS at
ON at.user_type_id = c.user_type_id;
См. также
Управление сборками интеграции CLR
Изменение сборки
Создание сборки
DROP AGGREGATE (Transact-SQL)
DROP FUNCTION (Transact-SQL)
DROP PROCEDURE (Transact-SQL)
DROP TRIGGER (Transact-SQL)
DROP TYPE (Transact-SQL)