Программирование триггеров CLR

Внутри SQL Server можно создавать объекты базы данных, запрограммированные в составе сборки, созданной в среде CLR платформы Microsoft .NET Framework. Объекты базы данных, способные эффективно использовать многофункциональную модель программирования, реализованную в среде CLR, включают триггеры DML и DDL, хранимые процедуры, функции, статистические функции и типы.

Шаги создания триггера CLR (DML или DDL) в SQL Server следующие.

  • Определите триггер как класс языка, поддерживаемого платформой .NET Framework. Дополнительные сведения о программировании триггеров CLR см. в разделе Триггеры CLR. После этого следует скомпилировать класс, чтобы создать сборку в .NET Framework, используя компилятор соответствующего языка.

  • Зарегистрируйте сборку в SQL Server с помощью инструкции CREATE ASSEMBLY. Дополнительные сведения о сборках в SQL Server см. в разделе Сборки (компонент Database Engine).

  • Создайте триггер со ссылкой на зарегистрированную сборку.

ПримечаниеПримечание

Развертывание проекта SQL Server в Microsoft Visual Studio регистрирует сборку в базе данных, указанной для проекта. Развертывание проекта также создает триггеры CLR в базе данных для всех методов, аннотированных в атрибуте SqlTrigger. Дополнительные сведения см. в разделе Развертывание объектов базы данных CLR.

ПримечаниеПримечание

Возможность SQL Server выполниять код CLR по умолчанию отключена. Объекты базы данных со ссылками на модули управляемого кода можно создавать, изменять и удалять, но эти ссылки не будут выполняться в SQL Server до тех пор, пока параметру clr enabled не будет присвоено значение True с помощью хранимой процедуры sp_configure (Transact-SQL).

Создание, изменение или удаление сборки

Добавление триггера CRL