Applies ToSQL 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

       Service Pack 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 потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Препратки

Научете повече за терминологията, която Microsoft използва за описване на актуализациите на софтуера. Вижте следните статии за повече информация:

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.