3

我已经在两个不同的实例中实现了两个 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. 我的队列RETENTION设置为off

  2. Sender Queue 和 sys.TransmissionQueue

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

  4. 数据插入@Target DB 被锁定。“当我使用nolock选择时,会出现5000 条记录

  5. 探查器显示

@发件人

经纪人:对话 STARTED_OUTBOUND

经纪人:Conversation CONVERSING

Broker:消息分类

Broker:远程消息确认

经纪人:对话组

@接收者

经纪人:对话 DISCONNECTED_OUTBOUND

经纪人:对话组

Broker:消息分类

Broker:远程消息确认

Broker:Message Undeliverable 由于无法按时发送,此消息已被丢弃。状态:1

  1. SSBDIAGNOSE没有显示错误

我已经使用 Rusanu 的博客条目来解决问题,但我认为我的情况有所不同!

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

4

1 回答 1

4

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

于 2011-08-23T15:13:16.140 回答