SQL Server 2008 R2 x64位元版本
在 SQL Server 錯誤記錄檔可以檢視到以下的錯誤訊息:
錯誤: 8355,嚴重性: 16,狀態: 1。 Server-level event notifications can not be delivered. Either Service Broker is disabled in msdb, or msdsb failed to start. Event notifications in other databases could be affected as well. Bring msdb online, or enable Service Broker. 無法傳遞伺服器層級的事件通知。可能是 msdb 中已停用 Service Broker,或是無法啟動 msdsb。在其他資料庫中的事件通知也可能會受到影響。請使 msdb 上線,或啟用 Service Broker。
--P01
若要修正錯誤代碼:8355,請執行以下的範例程式碼:
-- 啟動 Service Broker 訊息傳遞並建立資料庫的新 Service Broker 識別碼 /* 使用參數說明:NEW_BROKER 此選項會啟動 Service Broker 訊息傳遞並建立資料庫的新 Service Broker 識別碼。 此選項會結束資料庫中的所有現有交談,並針對每個交談傳回一項錯誤。 這是因為這些交談不會使用新的識別碼。 您必須使用新的識別碼來重新建立參考舊 Service Broker 識別碼的任何路由。 */ USE master GO ALTER DATABASE msdb SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE msdb SET NEW_BROKER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE msdb SET MULTI_USER; GO
--P02
關閉 SQL Server 服務,再度重新啟動 SQL Server。
在 SQL Server 錯誤記錄檔內就應該沒有此錯誤:
--P03
若要檢查各個資料庫,是否已啟動 Service Broker 訊息傳遞,請執行以下的範例程式碼:
-- 檢視各個資料庫是否已啟動 Service Broker 訊息傳遞 SELECT name N'資料庫', is_broker_enabled N'啟動 Broker 訊息傳遞' FROM sys.databases ORDER BY 2 DESC
--P04
參考資料:
管理 Service Broker 識別
http://msdn.microsoft.com/zh-tw/library/ms166057.aspx
Error 8355 - Service Broker Is Disabled - How to Confirm?
http://social.msdn.microsoft.com/Forums/en/sqlservicebroker/thread/7aa1d7d0-366e-4faf-950d-6083bb177005
沒有留言:
張貼留言