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

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐