Проблемы
Если у вас есть сервер для переадресации сообщений компонента Service Broker в Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012, вы можете получить ошибку "не возвращать" на сервере, если выполняется одно или несколько из указанных ниже условий.
-
Сервер занят пересылкой сообщений компонента Service Broker.
-
Вы можете пересылать большие объемы сообщений.
-
В трассировке профилировщика SQL Server есть некоторые сообщения, которые не удается доставить на целевой сервер из-за проблемы с сетью либо достигнуто время существования сообщения.
-
В таблице sys. routes много записей.
Кроме того, снижается производительность обработки сообщений.
Причина
Сообщение об ошибке "не выдается" в журнале ошибок является предупреждением. Когда вы получаете это сообщение, SQL Server занят исследованием списка целей сообщения. Кроме того, SQL Server определяет, являются ли сообщения более старыми, чем время ожидания, и требуют удаления. Если размер таблицы маршрутов велик, а список сообщений очень длинный, этот процесс может занять много времени, чтобы завершить работу, которая приводит к ошибке "не удается получить".
Решение
Сведения о накопительном пакете обновления
Накопительное обновление 6 для SQL Server 2012
Исправление для этой проблемы впервые выпущено в накопительном обновлении 6. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:
2728897 Накопительный пакет обновления 6 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012
Накопительное обновление 2 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 2. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2790947 Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый набор исправлений содержит все исправления и все исправления системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012
Накопительное обновление 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2), щелкните следующий номер статьи базы знаний Майкрософт:
2777358 Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск пакета обновления 2 (SP2) для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".