Sql-Server
數據庫上沒有服務代理處於活動狀態
我正在嘗試設置查詢通知,但是當我嘗試創建隊列和服務時,我收到錯誤“數據庫中沒有活動的服務代理。更改為包含 Service Broker 的數據庫上下文。當我執行查詢
select is_broker_enabled from sys.databases where name='db01'
它返回 1 表示已在數據庫上啟用代理
這是我正在執行的用於創建隊列和服務的 sql 命令…
CREATE QUEUE DeviceChangeMessages CREATE SERVICE DeviceChangeNotifications ON QUEUE DeviceChangeMessages ([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]);
好吧,我認為這很簡單。
- 您只會收到未啟用 Service Broker 的消息。但是您查詢的是系統數據庫,而不是您目前的數據庫。可能是一個想法,您執行腳本以在數據庫中設置通知,
master
而您忘記將數據庫上下文更改db01
為啟用 Service Broker 的位置?- 另一個極端情況可能是
msdb
,重新檢查它是否啟用。- 否則嘗試啟用/禁用您的服務代理並重
db01
試。你可以使用這個:
ALTER DATABASE dbo1 SET DISABLE_BROKER ALTER DATABASE dbo1 SET ENABLE_BROKER