Я внезапно осознал, что не могу регистрировать изменения схемы, вызванные такими событиями, как DISABLE TRIGGER ALL ON имя таблицы;
Я проверил эту страницу, но не смог найти решение: https://docs.microsoft.com/en-us/sql/relational-databases/triggers/ddl-events?view=sql-server-ver15
Мне нужно регистрировать каждое утверждение, которое изменяет структуру базы данных. Можете ли вы мне что-нибудь подсказать?
Вы можете легко воспроизвести эту проблему, запустив этот пример сценария:
CREATE DATABASE [DDLTEST]
GO
USE DDLTEST
GO
CREATE TRIGGER [TRG_OGUZ_SCHEMALOG]
ON DATABASE FOR
DDL_DATABASE_LEVEL_EVENTS
AS
PRINT 'DDL EVENT FIRED !!'
GO
--THIS PRINTS 'DDL EVENT FIRED !!'
CREATE TABLE X(ID INT)
GO
--THIS PRINTS 'DDL EVENT FIRED !!'
CREATE TRIGGER TRG_X ON X AFTER INSERT
AS
PRINT 'INSERT EVENT !!'
GO
--UNFORTUNATELY THIS DOES NOT PRINT 'DDL EVENT FIRED !!'
DISABLE TRIGGER ALL ON X