Застосовується до
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions)

Ознаки

За замовчуванням для бази даних tempdb в Microsoft SQL Server 2016 і 2017 увімкнуто непрямі контрольні точки. За умов інтенсивного навантаження може статися помилка "Неприбутковий планувальник", а sys.dm_os_spinlock_stats DMV відображає підвищені суперечки лічильника для типу лічильника DP_LIST.

Спосіб вирішення

Це виправлення входить до складу таких оновлень і пакетів оновлень:

Відомості про пакет оновлень для SQL Server 2016

       Пакет оновлень 2 для SQL Server 2016

Про збірки SQL Server

Кожна нова збірка для SQL Server містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Радимо інсталювати останні сукупні оновлення для SQL Server:

Останнє сукупне оновлення для SQL Server 2017 р.

найновіша збірка для SQL Server 2016 р.

Пакети оновлень сукупні. Кожен новий пакет оновлень містить усі виправлення, що містяться в попередніх пакетах оновлень, а також усі нові виправлення. Ми рекомендуємо застосувати останній пакет оновлень і останній сукупний пакет оновлень для цього пакета оновлень. Не потрібно інсталювати попередній пакет оновлень, перш ніж інсталювати останній пакет оновлень. Скористайтеся таблицею 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 tempdbgo checkpointgo  

    Крім того, TF 3468 можна використовувати для вимкнення непрямої контрольної точки на tempdb.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Посилання

Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення. Докладні відомості див. в таких статтях:

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.