自已动手记录SQL Server的Log

/*建一个记录触发触发器的表,也可以说就是自己的Log吧*/
create table  tbLog(
  EventType nvarchar(30),
  Parameters Int,
  EventInfo nvarchar(255)
)
go

/*建一个表,并加入三笔数据,作为测试用的表*/
Create table tbA(aa int,bb int)
insert tbA values(1,1)
insert tbA values(2,2)
insert tbA values(3,3)
go

/*建一个触发器,往Log表中加入数据*/
Create Trigger tr_tbA_U
On tbA
For Update
As
Begin

insert tbLog exec('DBCC INPUTBUFFER (@@SPID)')   --加这一句到触发器的代码中就行
End

/*用如下语句来触发触发器*/
update tbA set bb = 4 where aa = 3

/*查看一下是否记录下来了*/
select EventInfo from tbLog

*************************************************************

这个Log完全就是一个表,且由触发器来维护,所以可以有选择地记录自己想要记录的Log。

另:完全可以把内容记录更完整,比如用 Host_name()记录电脑名,用getdate()记录时间等信息。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值