疑難排解查詢通知:檢查訂閱
通知的訂閱會儲存在執行查詢的資料庫中。若您的應用程式沒有收到通知,請要求提供通知,然後再立即查看訂閱是否出現在動態管理檢視 sys.dm_qn_subscriptions 中。若 SQL Server 沒有產生通知事件且未出現任何的通知訂閱,則要求的參數很可能無效。在此情況下,SQL Server 會拒絕通知要求。SQL Server 會在兩個地方報告拒絕要求的相關資訊:
請檢查 SQL Server 錯誤記錄檔,來查看訂閱要求的錯誤。
使用 SQL Server Profiler,並啟動會在查詢通知類別目錄中顯示事件的追蹤。產生 QN:Subscription 事件時 Event SubClass 為 1 - Subscription Registered,訂閱就順利完成。
請注意,通知訂閱是使用查詢及通知訊息來追蹤。當您以和現有訂閱相同的訊息、相同的查詢及相同的傳遞服務來提交訂閱時,SQL Server 會更新現有訂閱的逾時,而不會建立新的訂閱。
一般來說,若訂閱要求無效時,SQL Server 會立即產生通知。通知訊息的本文會包含該訂閱的其他相關資訊。