我在 Linux 系统上使用Microsoft ODBC 驱动程序连接到 Windows 上的 SQL Server 2012 以使用查询通知功能。我运行我的 C 代码,可以看到我的订阅sys.dm_qn_subscriptions
如我所料出现,然后我的代码发送 aWAITFOR
和块 - 到目前为止还不错。然后我做了一个会触发通知的交易,我明白了 - 仍然很好。我想做的是处理通知并再次循环,WAITFOR
但在第一次通知后,我的订阅不再出现在 DMV 中。我的问题是,这是预期的行为吗,我应该每次都重新订阅,还是发生了什么奇怪的事情?
消息发送后查询通知将被删除,因此如果您想继续接收通知,则需要重新订阅。这是您引用的文档的相关摘录。