Проблемы
Если вы используете группу доступности Always On в Microsoft SQL server 2016 или 2017, параллельное восстановление доступной для чтения вторичной реплики приостанавливается, если есть одновременные запросы только на чтение в той же реплике, и появляется следующее сообщение об ошибке:
Date\Time SPID время ожидания истекло во время ожидания кратковременной блокировки буфера — Type 4, BP 000000E66DA93540, Page PageID, stat 0Xb, ИД базы данных: DatabaseID, идентификатор единицы выделения: UnitID, задача, ИД, waittime 300 секунд,флаги 0x1018 и taskIdдля задачи. Ожидание не продолжается.
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Накопительное обновление 6 для SQL Server 2017
Накопительное обновление 8 для SQL Server 2016 с пакетом обновления 1 (SP1)
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Обходное решение
Чтобы обойти эту проблему, воспользуйтесь одним из описанных ниже методов.
-
Одновременное использование первичной реплики и вторичной реплики одновременно с одной и той же таблицей.
-
Задайте время ожидания запроса, чтобы выйти из запроса, если он был выполнен в течение 1 или 2 минуты.
-
Уменьшите значение MAXDOP.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.