KB4497928 - ВИПРАВЛЕНО: Непрямі контрольні точки в базі даних tempdb спричиняють помилку "Non-yielding scheduler" у SQL Server 2016 та 2017

Застосовується до
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Ознаки

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

Стан

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

Спосіб усунення проблеми

Цю проблему вирішено в наведених нижче сукупних оновленнях для SQL ServerSQL Server:

Відомості про сукупні оновлення для SQL ServerSQL Server :

Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.

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

Щоб вирішити цю проблему, вимкніть непрямі контрольні точки в базі даних tempdb за допомогою однієї з наведених нижче інструкцій Data Definition Language (DDL).

Зробити це потрібно в такий спосіб:

  • У базі даних modeldb (це також змінює значення за замовчуванням для нових баз даних) виконайте таку інструкцію:

    ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Або безпосередньо в базі даних tempdb щоразу, коли екземпляр запускається, використовуючи SQL Server AgentАгент SQL Server, використовуючи таку інструкцію:

    ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Або періодично виставляйте контрольні точки вручну проти бази даних tempdb, використовуючи таку інструкцію:

    use tempdb
    go checkpoint
    go

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

Посилання

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