Проблема
По умолчанию косвенные контрольные точки включены для базы данных tempdb в Microsoft SQL Server 2016 и 2017. В условиях высокой рабочей нагрузки может возникнуть ошибка "Планировщик неуступчивости". В sys.dm_os_spinlock_stats DMV отображается повышенная конкуренция за спин-блокировку для типа DP_LIST Spinlock.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Решение
Эта проблема устранена в следующих накопительных обновлениях для SQL Server:
- Накопительный пакет обновления 16 для SQL Server 2017
- Накопительный пакет обновления 7 для SQL Server 2016 с пакетом обновления 2 (SP2)
Сведения о накопительных обновлениях для SQL Server:
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2017
- Последний накопительный пакет обновления для SQL Server 2016
Временное решение
Чтобы обойти эту проблему, отключите косвенные контрольные точки в базе данных tempdb с помощью одного из следующих операторов языка описания данных (DDL).
Сделать это следует следующим образом:
В базе данных modeldb (это также меняет значение по умолчанию для новых баз данных) выполните следующую инструкцию:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTESИли непосредственно в базе данных tempdb каждый раз при запуске экземпляра используйте агент SQL Server, используя следующую инструкцию:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTESИли периодически создавайте контрольные точки вручную для базы данных tempdb, используя следующую инструкцию:
use tempdb
go checkpoint
goКроме того, TF 3468 можно использовать для отключения непрямой контрольной точки в tempdb.
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения. Дополнительные сведения см. в следующих статьях: