SQL Server 2005中使用DDL触发器监控数据库变化
通过创建DDL触发器,记录数据库对象的增删改的操作,能够在数据库出现问题时,便于跟踪、定位问题。本文通过实例介绍了如何使用DDL触发器。
使用 EVENTDATA 函数,可以捕获有关激发 DDL 触发器的事件的信息,并将其保存到我们的AuditLog日志表中。EVENTDATA 函数的是返回 xml 值,采用以下的命令进行解析:
SET@cmd = LTRIM(RTRIM(REPLACE(@cmd,'','')))
需要LTRIM和RTRIM是所有的左边的前导空格和右边的尾随空格,而REPLACE函数是用来消除使用SSMS脚本向导时所带来的回车。
一旦建立了表和触发器,您就可以用以下的操作,来测试看看DDL触发器是否正常运行:
UPDATE STATISTICS Production.Product GO CREATE TABLE dbo.Test(col INT) GO DROP TABLE dbo.Test GO -- View log table SELECT * FROM dbo.AuditLog GO |
执行后,查询结果如下所示: