1: CREATE TRIGGER trgDatabaseModificationInsert ON DATABASE FOR
2: DDL_DATABASE_LEVEL_EVENTS
3: AS
4: SET NOCOUNT ON;
5:
6: DECLARE @data AS XML;
7: SET @data = EVENTDATA();
8: INSERT INTO dbo._zsDatabaseModification (EventType, PostTime,
9: Spid, ServerName, LoginName, UserName, DatabaseName,
10: SchemaName, ObjectName, ObjectType, TSqlCommand) VALUES (
11: @data.value('(/EVENT_INSTANCE/EventType)[1]', 12: 'NVARCHAR(256)'),
13: @data.value('(/EVENT_INSTANCE/PostTime)[1]', 'DATETIME'), 14: @data.value('(/EVENT_INSTANCE/SPID)[1]', 'INT'), 15: @data.value('(/EVENT_INSTANCE/ServerName)[1]', 16: 'NVARCHAR(256)'),
17: @data.value('(/EVENT_INSTANCE/LoginName)[1]', 18: 'NVARCHAR(256)'),
19: @data.value('(/EVENT_INSTANCE/UserName)[1]', 20: 'NVARCHAR(256)'),
21: @data.value('(/EVENT_INSTANCE/DatabaseName)[1]', 22: 'NVARCHAR(256)'),
23: @data.value('(/EVENT_INSTANCE/SchemaName)[1]', 24: 'NVARCHAR(256)'),
25: @data.value('(/EVENT_INSTANCE/ObjectName)[1]', 26: 'NVARCHAR(256)'),
27: @data.value('(/EVENT_INSTANCE/ObjectType)[1]', 28: 'NVARCHAR(256)'),
29: @data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 30: 'NVARCHAR(MAX)'));
31:
32: SET NOCOUNT OFF;
33: GO