SQL Server代理服务目标传输队列问题

时间:2011-08-11 11:25:47

标签: sql-server sql-server-2008 service-broker

我在两个不同的实例中实施了两个SSB 。它们是基于异步触发器数据推送模式。

我正在使用 SQL Server Enterprise 2008 R2 ,版本信息位于

下面

我的SQL版本是Microsoft SQL Server Management Studio 10.0.4064.0  Microsoft Analysis Services客户端工具10.0.4064.0  Microsoft数据访问组件(MDAC)6.1.7601.17514  Microsoft MSXML 3.0 4.0 5.0 6.0 Microsoft Internet Explorer 9.0.8112.16421  Microsoft .NET Framework 2.0.50727.5446  操作系统6.1.7601

  1. 我的队列保留设置为关闭

  2. 发件人队列和sys.TransmissionQueue 为空

  3. 目标队列 为空,但目标sys.transmissionqueue 包含 5000条消息发送

  4. @Target数据库中的 数据 已插入 已锁定。 “当我选择 nolock 时,会出现 5000条记录

  5. Profiler 显示

  6. @的发件人

    经纪人:对话STARTED_OUTBOUND

    经纪人:对话转换

    经纪人:邮件分类

    经纪人:远程消息确认

    经纪人:会话小组

    @的 Reciever

    经纪人:对话DISCONNECTED_OUTBOUND

    经纪人:会话小组

    经纪人:邮件分类

    经纪人:远程消息确认

    Broker:Message Undeliverable此消息已被删除,因为无法按时调度。州:1

    1. SSBDIAGNOSE 显示无错误
    2. 我已经使用Rusanu的博客条目来解决问题,但我认为我的情况有所不同!

      希望任何人都可以提供帮助:)

1 个答案:

答案 0 :(得分:4)

听起来你的目标处理是接收消息,用EndDialog响应,但不提交事务。这将解释您描述的症状(数据已插入但已锁定,目标传输队列有5k消息未被发送)。您能否确认目标处理是否正确提交和结束交易?