现在的位置: 首页 > 综合 > 正文

DDL Trigger监控存储过程更改

2013年10月24日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

下面的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

);

 

 

抱歉!评论已关闭.