Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Service Broker ошибка This message was dropped because it could not be dispatched on time.  [new]
Leax
Member

Откуда: Киев
Сообщений: 438
Добрый день!

Между двумя серверами передавались сообщения по ServiceBroker (сервер1 -> сервер2). Неизвестно кто что сделал, но теперь сообщения зависают в исходящей очереди сервера1.
На сервере1 висят открытые диалоги. У всех сообщений пустой transmission_status.
На сервере2 в профайлере отображается ошибка: This message was dropped because it could not be dispatched on time. State: 2

Кто-нибудь сталкивался с причиной и решением такой проблемы?

Для справки:
сервер1: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (Hypervisor)
сервер2: Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
22 ноя 12, 12:45    [13512419]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker ошибка This message was dropped because it could not be dispatched on time.  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
Инет трещит от обсуждения таких ошибок. Судя по всему, это баг SQL Server`а. Пропатчте сервер 1 до SP2.
22 ноя 12, 13:13    [13512690]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker ошибка This message was dropped because it could not be dispatched on time.  [new]
Leax
Member

Откуда: Киев
Сообщений: 438
Как оказалось проблема возникла из-за того, что на сервере2 был закрыт диалог с помощью end conversation '.....' with cleanup. На сервере1 при этом дилог оставался в открытом состоянии (такой вот нюанс параметра with cleanup) и ServiceBroker пытался в него отправлять сообщения, но не получалось и сообщения зависали в исходящей очереди.
Помогло закрытие всех зависших на сервере1 диалогов с повторной отправкой сообщений.
23 ноя 12, 14:19    [13519414]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker ошибка This message was dropped because it could not be dispatched on time.  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
BOL
Do not use WITH CLEANUP in the code of a Service Broker application.
23 ноя 12, 16:04    [13520345]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить