用DDL触发器来记录数据库中各对象的修改状态

--记录数据库修改状态的DDL触发器
--1、创建日志表
create table 日志表
(
	日志编号 int identity(1,1)primary key,
    事件 varchar(600),
    所用语句 varchar(8000),
    操作者 varchar(50),
    发生时间 datetime
)
--2、创建DDL触发器,来用记录修改状态.
--   Eventdata()是一个数据库函数,其作用是以XML格式返回有关服务器或数据库的事件信息
create trigger ddl_trigger1
on database 
for DDL_Database_level_events
as 
begin 
   declare @log xml
   set @log=Eventdata()
   insert into 日志表(事件,所用语句,操作者,发生时间)values
   (
      @log.value('(/Event_Instance/EventType)[1]','nvarchar(100)'),
      @log.value('(/Event_Instance/TSQLCommand)[1]','nvarchar(2000)'),
      Convert(nvarchar(100),Current_user),
      getdate()
   )
end
---3、测试 实例
create table at
(
	名字 varchar(50),
    年龄 int
)
--4、查看日志表
select * from 日志表

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值