Вопрос

И если нет, есть ли способ определить, когда триггер был отключен / включен?

ПОСЛЕДУЮЩЕЕ НАБЛЮДЕНИЕ:

Это довольно интересный диагностический случай.Я был вовлечен только с периферии, и парень, проводящий диагностику, не специалист по базам данных.

В любом случае, у него был триггер, который перемещал данные из одной таблицы в другую.Он провел сравнение, и не все данные попали во вторую таблицу.Я сказал, что я критикую SQL Server, но я верю, что их триггеры срабатывают в одной и той же транзакции.Он сказал, но некоторые данные сделали это...если бы он был просто отключен, ничего не должно было бы получиться.Верно.Итак, я сказал, что, возможно, кто-то включает и отключает триггеры.Отсюда и вопрос.

Но что действительно произошло, так это то, что кто-то навсегда отключил триггер и скопировал код в sproc, который был настроен на запуск в определенное время.

Правильным судебно-медицинским тестом было бы просмотреть зависимости второй таблицы, посмотреть, кто еще ее использовал.Это показало бы рост опухоли...(Я наблюдал много Дом повторы, можешь сказать).

Это было полезно?

Решение

Ваша проблема выглядит очень похожей на ту, о которой Рэнди Волтерс писал в Simple-Talk

http://www.simple-talk.com/sql/database-administration/dml-trigger-status-alerts/

Я подозреваю, что это поможет

Другие советы

Аудита нет, хотя есть компания под названием Lumigent, которая предлагает продукт "Audit DB", который будет выполнять аудит DDL (среди прочего) для SQL Server.

Вы можете посмотреть в таблице sysobjects crdate, который сообщит вам, когда был создан объект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top