Я хочу создать триггер SQL SERVER, который срабатывает при добавлении нового столбца в любую таблицу в моей базе данных - PullRequest
0 голосов
/ 15 апреля 2020

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

CREATE TABLE EvtLog  
(  
   PostTime DATETIME,  
   LoginName NVARCHAR(100),  
   EventType NVARCHAR(100),  
   TSQLCommand NVARCHAR(2000)   
)  



CREATE TRIGGER [trPreventTblChange]   
ON DATABASE   
FOR Drop_Table,Create_Table,Create_Procedure,Alter_Procedure,Alter_Table

AS  
DECLARE @Data XML  
SET @Data = EventData()  
INSERT EvtLog (PostTime, LoginName, EventType, TSQLCommand)   
VALUES   
   (GETDATE(),   
   CONVERT(NVARCHAR(100), CURRENT_USER),   
   @Data.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(100)'),   
   @Data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(2000)') ) ;  

Она уже работает отлично, но я хочу также зарегистрировать вставку столбца и обновление столбца. Как это делается ???

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