Sql-Server
查詢通知的預期行為
我在 Linux 系統上使用Microsoft ODBC 驅動程序連接到 Windows 上的 SQL Server 2012 以使用查詢通知功能。我執行我的 C 程式碼,可以看到我的訂閱
sys.dm_qn_subscriptions
按預期出現,然後我的程式碼發送一個WAITFOR
和塊 - 到目前為止很好。然後我做了一個會觸發通知的交易,我明白了——仍然很好。然後我想做的是處理通知並再次循環到WAITFOR
但在第一次通知之後我的訂閱不再出現在 DMV 中。我的問題是,這是預期的行為,我應該每次都重新訂閱,還是發生了什麼奇怪的事情?
消息發送後查詢通知將被刪除,因此如果您想繼續接收通知,則需要重新訂閱。這是您引用的文件的相關摘錄。
通知只發送一次。對於數據更改的連續通知,必須在處理每個通知後重新執行查詢來創建新訂閱。