Как не отключать триггеры во время развертывания в SQL Server - PullRequest
0 голосов
/ 07 января 2019

При развертывании проектов базы данных SQL Server (с использованием мастера публикации SSDT или развертывания DACPAC) автоматические сценарии SQL запускаются с отключением всех триггеров .

Как мне избежать этого?

А каковы побочные эффекты не отключения триггеров?

PRINT N'Disabling all DDL triggers...'
GO
DISABLE TRIGGER ALL ON DATABASE
GO
<ALL DB CHANGES>
GO
PRINT N'Reenabling DDL triggers...'
GO
ENABLE TRIGGER [LogSchemaChanges] ON DATABASE
GO
PRINT N'Update complete.';

Зачем мне это делать? У нас есть триггер, который регистрирует все изменения схемы в журнале аудита. ... и разве это не иронично, не правда ли ...

1 Ответ

0 голосов
/ 07 января 2019

Для развертывания вручную Мастер публикации измените поведение в:

  1. Дополнительные параметры публикации> Общие> Дополнительные параметры развертывания.
  2. Снимите флажок «Отключить и включить триггеры DDL».

Для автоматического развертывания DACPAC через SQLPackage установите следующее свойство публикации :

/p:DisableAndReenableDdlTriggers = False

Указывает, отключены ли триггеры языка определения данных (DDL) в начале процесса публикации и повторно включены в конце действия публикации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...