是否可以实现类似以下触发器的内容
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上阅读一篇出色的文章。
本文很好地显示了它们是DDL触发器的两个作用域-服务器范围或数据库范围。数据库范围的数据库不能应用于整个服务器-您必须在每个数据库中进行设置。
马克