2017-07-07 49 views
0

我已經使用SQL Service Broker和SQL Table Dependency,並在表中爲表數據更改通知啓動了SQL表依賴關係。我已經給出了SQL表依賴性文檔中列出的數據庫的所有權限。經過一段時間後,可能處於空閒狀態,其狀態爲「等待通知」。SQL Service Broker錯誤 - 未找到對話句柄

當我更改表(插入新記錄),狀態沒有改變(從等待通知),並給出錯誤的「談話手柄‘A705917C-4762-E711-9447-000C29C3FCF0’是找不到的。」

任何人都可以幫我解決這個問題嗎?

回答

0

首先閱讀此評論請:

有一個很常見的場景導致更多的時間: 調試。在開發應用程序時,您往往會在調試器中花費幾分鐘時間,然後再繼續。所以當你調試一個應用程序時,請注意 這個值分配給 watchDogTimeOut參數是足夠長的,否則你會在 中發生數據庫對象在調試活動中被破壞。 Reference


在另一方面

如果您正在使用SQLDependency並獲得類似這樣的錯誤:

談話處理 「206A971D-6F25-DA11- B22F-0003FF6FCCCA「未找到。無效對象 名稱'SqlQueryNotificationService - 41136655-4314-4536-a477-37156eb628db'。

然後嘗試啓用trustworthy

Alter database [DbName] set trustworthy on 

enter image description here

可信賴數據庫屬性用於指示SQL服務器的 實例是否相信在它的數據庫和內容。 默認情況下,此設置爲OFF,但可以通過使用 ALTER DATABASE語句將其設置爲ON。 more information

Thank to Scott Hanselman for his answer