Проблемы
Рассмотрим следующий сценарий.
-
Вы включаете Microsoft SQL Server Service Broker (SSB) в базе данных группы SQL Server AlwaysOn.
-
Вы откроете и перезапустите базу данных.
-
Убедитесь, что подтверждение успешно получено.
В этом сценарии сообщение не удаляется из очереди передачи, несмотря на то что подтверждение получено успешно.
Причина
Проблема возникает из-за того, что при запуске базы данных после отключения очистки SQL Server не проверяет, является ли очередь на передачу отложенной задачей удаления повторной. Предполагается, что задача очереди передачи отложена удаление.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 1 для SQL Server 2014 /en-us/help/2931693
Накопительное обновление 9 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2931078
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Обходное решение
Чтобы обойти эту ошибку, переведите группу доступности SQL Server на вспомогательную реплику (и при необходимости выполните восстановление по резервной копии).
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".