Я хочу регистрировать любые изменения, которые происходят в моей базе данных, я уже создал триггер, который срабатывает при создании таблицы, удалении таблицы, создании хранимой процедуры, изменении хранимой процедуры. и зарегистрируйте эту команду, выполненную пользователем, в новой таблице 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)') ) ;
Она уже работает отлично, но я хочу также зарегистрировать вставку столбца и обновление столбца. Как это делается ???