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