0

SQLキャッシュ依存関係を持つアプリケーションを作成しています。

このために私はブローカーを有効にしました

Alter database test ENABLE_BROKER

データベースに2つの新しいテーブルを追加した後。

しかし、追加した新しいテーブルの通知サービスを利用できないことがわかりました。

私も使っています

Alter datatbase test New_Broker

このコマンドは実行を続けるので、成功せずにキャンセルします。

私が欠けているものを特定していただけますか

どんな助けも認められます

4

1 に答える 1

1

2つの質問をしているようです。

  1. SETENABLE_BROKERがハングしないようにする方法

    ALTER DATABASE [YourDBName] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

  2. スキーマが変更されたときにServiceBrokerから通知を受け取ることはできますか?

通知は既存のテーブルのみを対象としています。これにより、sys.tablesに対する依存関係を登録することを検討する可能性がありますが、通知のクエリでシステムビューとテーブルを使用することはできません。

特別なテーブルに挿入するDDLトリガーを設定し、そのテーブルに対してクエリを発行することで、これを回避できるはずです。例えば:

CREATE TRIGGER [MyTrigger] ON DATABASE AFTER CREATE_TABLE AS ...
于 2011-12-03T08:47:51.573 に答える