欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-01-03 15:28:39
下面的trigger用于监控存储过程的更改。   创建监控表:   create table auditstoredprocedur...

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