Реализация триггеров DDL
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
В этом разделе приведены сведения, необходимые для создания, изменения, выключения и удаления триггеров DDL.
Создание триггеров DDL
Триггеры DDL создаются с помощью инструкции Transact-SQL CREATE TRIGGER для триггеров DDL.
Создание триггера DDL
Внимание
Возможность возвращать результирующие наборы из триггеров будет удалена в будущей версии SQL Server. Триггеры, возвращающие результирующие наборы, могут привести к непредвиденному поведению приложений, не предназначенных для работы с ними. Не используйте в разрабатываемых приложениях триггеры, возвращающие результирующие наборы, и запланируйте изменение приложений, которые используют их в настоящее время. Чтобы запретить триггерам возвращать результирующие наборы в SQL Server, задайте для результатов запрета от триггеров значение 1. Параметр по умолчанию этого параметра будет иметь значение 1 в будущей версии SQL Server.
Изменение триггеров DDL
Если необходимо изменить определение триггера DDL, можно удалить и вновь создать триггер или переопределить существующий триггер одной инструкцией.
Если изменилось имя объекта, на который ссылается триггер DDL, текст триггера необходимо соответствующим образом изменить. Поэтому перед переименованием объекта вначале выведите зависимости объекта, чтобы определить, не повлияет ли предлагаемое изменение на работу каких-либо триггеров.
Может быть также зашифровано определение триггера.
Изменение триггера
Просмотр зависимостей триггера
Отключение и удаление триггеров DDL
Если триггер DDL больше не нужен, он может быть отключен или удален.
Отключение триггера DDL не приводит к его удалению, Триггер все еще существует как объект в текущей базе данных. Однако триггер не будет запускаться при выполнении каких-либо инструкций Transact-SQL, на которых она была запрограммирована. Отключенные триггеры DDL можно повторно включать. После включения триггер DDL вновь начинает срабатывать так, как это было указано при его создании. При создании триггеров DDL они включаются по умолчанию.
При удалении триггера DDL он удаляется из текущей базы данных. Удаление триггера DDL никоим образом не влияет на объекты или данные, на которые распространялась область действия триггера.
Отключение триггера DDL
Включение триггера DDL
Удаление триггера DDL