数据库架构更改时对SqlCacheDependency和Broker Service的影响

时间:2011-11-11 14:01:05

标签: asp.net sql-server service-broker sqlcachedependency

我正在使用Sql缓存依赖项创建一个应用程序。

为此我通过

启用了经纪人
Alter database test ENABLE_BROKER

在我向数据库添加两个新表之后。

但我发现我无法为我添加的新表获得任何通知服务。

即使我使用

Alter datatbase test New_Broker

这个命令继续运行所以我取消它没有任何成功。

请说明我缺少的内容

任何帮助都是适用的

1 个答案:

答案 0 :(得分:1)

好像你问了两个问题:

  1. 如何防止SET ENABLE_BROKER挂起

    ALTER DATABASE [YourDBName] SET ENABLE_BROKER with ROLLBACK IMMEDIATE

  2. 架构更改后,Service Broker会通知您吗?

  3. 通知仅适用于现有表。这可能会导致您考虑尝试注册sys.tables的依赖项,但在查询通知时不允许使用系统视图和表。

    您应该能够通过设置插入特殊表的DDL触发器来解决此问题,然后针对该表发出查询。例如:

    CREATE TRIGGER [MyTrigger] ON DATABASE AFTER CREATE_TABLE AS ...