【问题标题】:Service broker - Poison messages handling - event handle服务代理 - 中毒消息处理 - 事件句柄
【发布时间】:2015-01-27 13:34:05
【问题描述】:

当有毒消息使我的队列被禁用并遵循以下帖子时,我正在尝试获取通知:http://blogs.msdn.com/b/sql_service_broker/archive/2008/06/30/poison-message-handling.aspx

SQL 服务器:SQL 2012

设置完成后,我尝试了配置,并在日志中看到以下内容: 第一条消息:

已关闭事件通知会话端点,句柄为“{AF43B2F1-27A6-E411-9464-028946455A17}”,由于以下错误:“-8490无法找到远程服务“[QueueDisabledNotifService]”,因为它不存在。 '。

第二条信息: 未能在对话句柄“{AF43B2F1-27A6-E411-9464-028946455A17}”上发送类型为“BROKER_QUEUE_DISABLED”的事件通知实例。错误代码 = '8429'。

第三条信息: 由于发送时间服务代理错误,数据库“XXX”中的事件通知“QueueDisabledNotif”被丢弃。检查以确保事件通知中指定的会话句柄、服务代理合同和服务处于活动状态。

有什么想法吗?

谢谢 多伦

【问题讨论】:

标签: sql-server-2012 service-broker eventhandler


【解决方案1】:

不是很清楚,因为它可能没有一些代码。当出现有害消息并且队列被禁用时,服务代理会发出 Broker:Queue Disabled 事件。您可以考虑在您的代码中捕捉到这一点(从那里您应该考虑结束对话以摆脱消息)。

这里有类似的问题:

SQL Server Broker Transaction Completed on Poison Message Exception

(带代码)

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多