关于ddl_datebase 触发器
--记录xuwangjin表的 ddl操作
只针对于 create table 和 drop table 因为object本身为table --2009/01/04 am 0:50徐王锦--
--转贴请注明--
create trigger ddl_tr_xuwangjin on database
for ddl_database_level_events
as
declare @eventdata xml
select @eventdata=eventdata()
if @eventdata.value('(EVENT_INSTANCE/ObjectName)[1]','sysname')=N'xuwangjin'
and @eventdata.value('(EVENT_INSTANCE/ObjectType)[1]','sysname')=N'TABLE'
begin
select
EventType=t.c.value('(EventType)[1]','sysname'),
PostTime=t.c.value('(PostTime)[1]','datetime'),
SPID=t.c.value('(SPID)[1]','int'),
ServerName=t.c.value('(ServerName)[1]','sysname'),
LoginName=t.c.value('(LoginName)[1]','sysname'),
TSQLCommand=t.c.value('(TSQLCommand/CommandText)[1]','varchar(1000)'),
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ANSI_NULLS)[1]','sysname') as ANSI_NULLS,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ANSI_NULL_DEFAULT)[1]','sysname') as ANSI_NULL_DEFAULT,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@AANSI_PADDING)[1]','sysname') as ANSI_PADDING,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@QUOTED_IDENTIFIER)[1]','sysname') as QUOTED_IDENTIFIER,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ENCRYPTED)[1]','sysname') as ENCRYPTED
from @eventdata.nodes('EVENT_INSTANCE') as t(c)
end
else
return
go
--测试
--1
create table xuwangjin
(id smallint
)
--2
drop table xuwangjin
--记录xuwangjin表的 ddl操作
只针对于 create table 和 drop table 因为object本身为table --2009/01/04 am 0:50徐王锦--
--转贴请注明--
create trigger ddl_tr_xuwangjin on database
for ddl_database_level_events
as
declare @eventdata xml
select @eventdata=eventdata()
if @eventdata.value('(EVENT_INSTANCE/ObjectName)[1]','sysname')=N'xuwangjin'
and @eventdata.value('(EVENT_INSTANCE/ObjectType)[1]','sysname')=N'TABLE'
begin
select
EventType=t.c.value('(EventType)[1]','sysname'),
PostTime=t.c.value('(PostTime)[1]','datetime'),
SPID=t.c.value('(SPID)[1]','int'),
ServerName=t.c.value('(ServerName)[1]','sysname'),
LoginName=t.c.value('(LoginName)[1]','sysname'),
TSQLCommand=t.c.value('(TSQLCommand/CommandText)[1]','varchar(1000)'),
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ANSI_NULLS)[1]','sysname') as ANSI_NULLS,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ANSI_NULL_DEFAULT)[1]','sysname') as ANSI_NULL_DEFAULT,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@AANSI_PADDING)[1]','sysname') as ANSI_PADDING,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@QUOTED_IDENTIFIER)[1]','sysname') as QUOTED_IDENTIFIER,
@eventdata.value('(EVENT_INSTANCE/TSQLCommand/SetOptions/@ENCRYPTED)[1]','sysname') as ENCRYPTED
from @eventdata.nodes('EVENT_INSTANCE') as t(c)
end
else
return
go
--测试
--1
create table xuwangjin
(id smallint
)
drop table xuwangjin