一个用于跟踪和发现程序错误的触发器

ZDNet软件频道 时间:2009-12-03 作者: | 赛迪网 我要评论()
本文关键词:Server 服务器 SQL
【赛迪网-IT技术报道】本文主要介绍了一个用来发现程序错误的触发器,具体示例如下:--跟踪一个表的所有操作的触发器create trigger tr_teston testfor insert,update,deleteasset nocount on-

  【赛迪网-IT技术报道】本文主要介绍了一个用来发现程序错误的触发器,具体示例如下:

  --跟踪一个表的所有操作的触发器

  create trigger tr_test

  on test

  for insert,update,delete

  as

  set nocount on

  --用临时表保存exec('DBCC INPUTBUFFER...')的返回值

  create table #t(EventType varchar(50),Parameters int ,EventInfo varchar(6000))

  --DBCC INPUTBUFFER需要参数spid

  declare @spid varchar(20)

  set @spid=cast(@@spid as varchar)

  insert #t exec('DBCC INPUTBUFFER ('+@spid+')')

  insert Test_Log(AppName,SQL,UserName,HostName,Time)

  select App_Name(), --应用程序名,比较有用,你可以发现是否有用查询分析器修改数据的

  EventInfo, -- SQL语句,主要用来发现程序错误

  SYSTEM_USER, --用户名

  Host_name(), --主机名

  getdate() --发生时间

  from #t

  go

Server

服务器

SQL


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134