下面的Trigger用于监控存储过程的更改。
创建监控表:
sql;">
CREATE TABLE AuditStoredProcedures(
DatabaseName sysname,ObjectName sysname,LoginName sysname,ChangeDate datetime,EventType sysname,Event@R_403_173@ml xml
);
创建监控Trigger:
sql;">
CREATE TRIGGER dbtAuditStoredProcedures
ON DATABASE
FOR CREATE_PROCEDURE,ALTER_PROCEDURE,DROP_PROCEDURE
AS
DECLARE @eventdata XML;
SET @eventdata = EVENTDATA();
INSERT INTOAuditStoredProcedures(DatabaseName,ObjectName,LoginName,ChangeDate,EventType,Event@R_403_173@ml)
VALUES (
@eventdata.value('(/EVENT_INSTANCE/DatabaseName)[1]','sysname'),@eventdata.value('(/EVENT_INSTANCE/ObjectName)[1]',@eventdata.value('(/EVENT_INSTANCE/LoginName)[1]',GETDATE(),@eventdata.value('(/EVENT_INSTANCE/EventType)[1]',@eventdata
);