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)

Symptomy

Domyślnie pośrednie punkty kontrolne są włączone dla bazy danych tempdb w programach Microsoft SQL Server 2016 i 2017. W warunkach dużego obciążenia pracą może wystąpić błąd harmonogramu "Bez plonowania", a sys.dm_os_spinlock_stats DMV pokazuje podwyższoną rywalizację o spinlock dla DP_LIST typu spinlocka.

Rozwiązanie

Ta poprawka jest zawarta w następujących aktualizacjach i dodatku Service Pack:

Informacje o dodatku Service Pack dla SQL Server 2016

       Service Pack 2 dla SQL Server 2016

Informacje o kompilacjach SQL Server

Każda nowa kompilacja dla SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które były w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszych aktualizacji zbiorczych dla SQL Server:

Najnowsza aktualizacja zbiorcza dla SQL Server 2017

najnowsza kompilacja dla SQL Server 2016

Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy zastosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla tego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed instalacją najnowszego dodatku Service Pack nie jest konieczne. Skorzystaj z tabeli 1 w poniższym artykule, aby uzyskać więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej.

Jak ustalić poziom wersji, wersji i aktualizacji SQL Server i jej składników

Obejście

Aby obejść ten problem, wyłącz pośrednie punkty kontrolne w bazie danych tempdb, używając jednej z następujących instrukcji języka DDL (Data Definition Language).

Należy to zrobić w następujący sposób:

  • W bazie danych modeldb (spowoduje to również zmianę wartości domyślnej dla nowych baz danych) uruchom następującą instrukcję:ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Lub bezpośrednio w bazie danych tempdb za każdym razem, gdy wystąpienie jest uruchamiane przy użyciu agenta SQL Server przy użyciu następującej instrukcji:ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Lub okresowo wydawać ręczne punkty kontrolne względem bazy danych tempdb, używając następującej instrukcji:use tempdbgo checkpointgo  

    Ponadto TF 3468 może być używany do wyłączania pośredniego punktu kontrolnego w tempdb.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Informacje

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania. Aby uzyskać więcej informacji, zobacz następujące artykuły:

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.