事件通知有问题。在消息发送到的机器/驱动器/数据库(接收器)上,驱动器在没有人查看时已满,因此它已经备份了一整天。
现在我们释放了驱动器上的空间,它正在接受消息进入队列,但它似乎没有处理它们 - 没有插入新记录,即使队列现在有 2200 万条消息并且还在增长(!)。队列已启用:
is_activation_enabled = 1
is_receive_enabled = 1
is_enqueue_enabled = 1
Run Code Online (Sandbox Code Playgroud)
我在 中看到激活的 SP activation_procedure
,但是当我在 中查看时SP_WHOISACTIVE
,我没有看到任何活跃的阅读器。
在我再次炸毁驱动器之前 - 我做错了什么?我怎样才能让它处理或刷新消息?提前致谢。
更新
一个想法 - 因为我有is_enqueue_enabled
,也许它正在存储所有消息,直到它可以处理所有消息?如果是这样,我可以安全地关闭它吗?
CREATE PROCEDURE [dbo].[Parse_EN_Messages]
AS
--mdb 2012/09/05 version 1.2
-- With apologies and thanks to Remus Rusanu, Jonathon Kehayias, Mladen Prajdic, and Jasper Smith for writing
-- about EN, answering questions, and getting the word out about this awesome feature of SQL Server 2005+.
-- Also thanks to Mikael …
Run Code Online (Sandbox Code Playgroud)