Ознаки
За промовчанням непрямі контрольні точки ввімкнуто для бази даних tempdb у Microsoft SQL Server 2016 і 2017. За умов інтенсивного навантаження може статися помилка "Не пов'язані з планувальником", а sys.dm_os_spinlock_stats DMV відображає підвищену розбрату лічильника для типу лічильника DP_LIST.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Спосіб вирішення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Про сукупні оновлення для SQL Server:
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та всі виправлення системи безпеки, які входили в попередній сукупний пакет оновлень. Ознайомтеся з останніми сукупними оновленнями для SQL Server:
Інші способи вирішення
Щоб вирішити цю проблему, вимкніть непрямі контрольні точки в базі даних 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.
Посилання
Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення. Докладні відомості див. в таких статтях: