是否可以实现类似以下触发器的东西
CREATE TRIGGER [tr_AU_ddl_All_Server] ON DATABASE
WITH EXECUTE AS self
FOR DDL_DATABASE_LEVEL_EVENTS
AS
DECLARE
@data XML
, @rc INT
SET @data = EVENTDATA()
EXEC @rc = __AU.dbo.AU_DDLLog @data
GO
但在整个服务器上。我的想法是捕获服务器中所有数据库的所有架构更改。
就我而言,这在 SQL Server 2005 中是不可能的,但我想知道是否有人可以实现类似的功能。我想避免在每个数据库中实现触发器。
是的,SQL Server 2005 引入了“DDL 触发器” - 请阅读一篇关于它的优秀文章:SQL Team http://www.sqlteam.com/article/using-ddl-triggers-in-sql-server-2005-to-capture-schema-changes.
本文很好地说明了 DDL 触发器的两个作用域:服务器范围或数据库范围。数据库范围内的那些不能应用于整个服务器 - 您必须在每个数据库中设置它们。
Marc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)