下面的Trigger用于监控存储过程的更改。
创建监控表:
CREATE TABLE AuditStoredProcedures( DatabaseName sysname, ObjectName sysname, LoginName sysname, ChangeDate datetime, EventType sysname, EventDataXml xml);
创建监控Trigger:
CREATE TRIGGER dbtAuditStoredProceduresON DATABASEFOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDUREAS DECLARE @eventdata XML;SET @eventdata = EVENTDATA(); INSERT INTOAuditStoredProcedures(DatabaseName,ObjectName,LoginName,ChangeDate,EventType,EventDataXml)VALUES ( @eventdata.value("(/EVENT_INSTANCE/DatabaseName)[1]","sysname"), @eventdata.value("(/EVENT_INSTANCE/ObjectName)[1]", "sysname"), @eventdata.value("(/EVENT_INSTANCE/LoginName)[1]", "sysname"), GETDATE(), @eventdata.value("(/EVENT_INSTANCE/EventType)[1]", "sysname"), @eventdata);