随笔-152  评论-346  文章-2  trackbacks-13

DDL Trigger


create TRIGGER indexTrigger
ON ALL SERVER
--FOR DROP_INDEX ,ALTER_INDEX,create_index
FOR DROP_INDEX
AS
declare @original_login sysname ,@login_name sysname,@user_name sysname,@eventtype nvarchar(100),@commandText nvarchar(max),@dbname sysname
select
@original_login=ORIGINAL_LOGIN(),
@login_name=SUSER_NAME(),
@user_name=CURRENT_USER,
@dbname=EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]', 'sysname') ,
@eventtype= EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(100)') ,
@commandText= EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')

if not exists(select 1 from tempdb.sys.tables where name='indexTrigger')
begin
    create table tempdb.DBO.indexTrigger(
        original_login sysname ,
        login_name sysname,
        user_name sysname,
        eventtype nvarchar(100),
        commandText nvarchar(max),
        dbname sysname,
        createtime datetime default getdate()
    )
end
insert tempdb.dbo.indexTrigger([original_login],[login_name],[user_name],[eventtype],[commandText],dbname)
select @original_login,@login_name,@user_name,@eventtype,@commandText,@dbname

 

EVENTDATA (Transact-SQL)

标签: ddl trigger
posted on 2011-07-14 16:20 stswordman 阅读(52) 评论(0) 编辑 收藏
 
昵称:stswordman
园龄:5年11个月
粉丝:23
关注:0
<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

我的标签

随笔分类(252)

随笔档案(182)

相册

SQL

积分与排名

  • 积分 - 197955
  • 排名 - 431

最新评论

阅读排行榜

评论排行榜

推荐排行榜