2012-09-17 30 views
2

我正在嘗試在事件通知中選項BROKER_QUEUE_DISABLED它似乎沒有正確生成代理隊列禁用事件。有人可以驗證我創建的腳本嗎? (見下文)服務代理應用程序隊列禁用事件

腳本:

CREATE QUEUE NotifyQueue 

GO 

CREATE 

SERVICE NotifyService 

ON 

QUEUE NotifyQueue 

[http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]); 


GO 

CREATE ROUTE NotifyRoute 
WITH SERVICE_NAME = 'NotifyService', 
ADDRESS = 'LOCAL'; 
GO 

CREATE 

EVENT NOTIFICATION [CHS_QueueDisabledNotif] 

     ON QUEUE [CHS_Change_Queue] WITH FAN_IN 

     FOR BROKER_QUEUE_DISABLED 

     TO SERVICE 'NotifyService', 'current database' 



--Testing 

--Try Disabling Application Queue 

ALTER QUEUE dbo.CHS_Change_Queue WITH STATUS = OFF 

SELECT * FROM NotifyQueue 

回答

1

我發現一個回答我的問題:)

SQL引擎不會產生禁用事件,如果我們手動關閉隊列。只有在激活過程中發生任何錯誤時它纔會生成。我在激活過程中添加了自定義錯誤,類似SELECT 1/0,SQL可以生成Disable事件。

相關問題