Проблема целевой очереди передачи службы SQL Server Broker - PullRequest
2 голосов
/ 11 августа 2011

Я реализовал два SSB для двух разных экземпляров . Это шаблон data push , основанный на асинхронных триггерах .

Я использую SQL Server Enterprise 2008 R2 , информация о версии находится ниже

Моя версия SQL - Microsoft SQL Server Management Studio 10.0.4064.0 Инструменты клиента служб аналитики Microsoft 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 сообщений I отправлено .

  4. Таблица , data вставлена ​​ вставлена ​​ в @Target DB заблокирована заблокирована . «Когда я выбираю с помощью nolock появляется 5000 записей "

  5. Профилировщик Показывает

@ Sender

Брокер: беседа STARTED_OUTBOUND

Брокер: Разговор

Брокер: Классификация сообщений

Брокер: подтверждение удаленного сообщения

Брокер: Группа беседы

@ Ресивер

Брокер: беседа DISCONNECTED_OUTBOUND

Брокер: Группа беседы

Брокер: Классификация сообщений

Брокер: подтверждение удаленного сообщения

Брокер: сообщение не доставлено. Это сообщение было отброшено, поскольку его нельзя было отправить вовремя. Состояние: 1

  1. SSBDIAGNOSE показывает без ошибок .

Я использовал запись в блоге Русану для устранения проблемы, но я думаю, что моя ситуация другая!

Надеюсь, кто-нибудь может помочь:)

1 Ответ

4 голосов
/ 23 августа 2011

Похоже, ваша целевая обработка получает сообщения, отвечает и EndDialog, но не фиксирует транзакцию. Это объяснило бы описанные вами симптомы (данные вставлены, но заблокированы, целевая очередь передачи содержит 5 тыс. Сообщений, которые не отправляются). Можете ли вы подтвердить, что целевая обработка правильно фиксирует и завершает транзакции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...