手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQLServer EVENTDATA()函数来获取DDL 触发器信息
SQLServer EVENTDATA()函数来获取DDL 触发器信息
摘要:复制代码代码如下:--CreatealogtableCREATETABLETriggerLog(LogInfoxml)--Createadu...

复制代码 代码如下:

-- Create a log table

CREATE TABLE TriggerLog (LogInfo xml)

-- Create a dummy table to delete later on

CREATE TABLE TableToDelete (Id int PRIMARY KEY)

-- 新建一个新表,作为删除实验表

INSERT INTO TableToDelete VALUES(1)

GO

-- 创建一个Drop Table 的 DDL

CREATE TRIGGER StopTableDrop ON DATABASE AFTER DROP_TABLE

AS

DECLARE @EventData AS xml

SET @EventData = EVENTDATA() -- 必须要在rollback之前截获DDL信息

ROLLBACK

PRINT 'DROP TABLE attempt in database ' + DB_NAME() + '.'

INSERT INTO TriggerLog VALUES(@EventData)

执行如下删除操作:

DROP TABLE TableToDelete

会触发上面的DDL,从而回滚操作。

执行下面的Sql:

SELECT * FROM TriggerLog

查看刚才截获的DDL信息。

【SQLServer EVENTDATA()函数来获取DDL 触发器信息】相关文章:

SQL Server2008导出数据生成文件

SQL Server 2008中的数据表压缩功能详细介绍

SQL Server 2008 R2 超详细安装图文教程

SQL Server压缩日志及数据库文件大小

SQLSERVER2005 中树形数据的递归查询

SQLServer基础语法实例应用(一)

SQL Server编写函数获取汉字的拼音码

安装SqlServer2005时版本变更检查 (警告)

Windows7下Microsoft SQL Server 2008安装图解和注意事项

推荐SQL Server 重新恢复自动编号列的序号的sql代码

精品推荐
分类导航