当前位置: 首页 > Mssql > SQL Server中使用Trigger监控存储过程更改脚本实例

SQL Server中使用Trigger监控存储过程更改脚本实例

下面的Trigger用于监控存储过程的更改。
 
创建监控表:
 

CREATE TABLE AuditStoredProcedures( DatabaseName sysname
, ObjectName sysname
, LoginName sysname
, ChangeDate datetime
, EventType sysname
, EventDataXml xml
); 

创建监控Trigger:

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,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
);

您可能感兴趣的文章:

相关文章