服务经纪人 - 毒药消息处理 - 事件处理

时间:2015-01-27 13:34:06

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

我正在尝试在有毒邮件禁用我的队列时收到通知并遵循以下帖子:http://blogs.msdn.com/b/sql_service_broker/archive/2008/06/30/poison-message-handling.aspx

SQL Server:SQL 2012

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

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

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

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

有什么想法吗?

由于 多伦

1 个答案:

答案 0 :(得分:0)

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

类似的问题:

SQL Server Broker Transaction Completed on Poison Message Exception

(带代码)