--记录数据库修改状态的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 日志表
用DDL触发器来记录数据库中各对象的修改状态
最新推荐文章于 2020-06-11 16:50:14 发布