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)

Simptome

În mod implicit, punctele de verificare indirecte sunt activate pentru baza de date tempdb în Microsoft SQL Server 2016 și 2017. În condiții cu volum de lucru mare, poate apărea o eroare "Planificator care nu dă randament", iar DMV sys.dm_os_spinlock_stats afișează conținut de incrementare/decrementare sporit pentru tipul de incrementare/decrementare DP_LIST.

Rezolvare

Această remediere este inclusă în următoarele actualizări și pachete Service Pack:

Informații despre pachetele Service Pack pentru SQL Server 2016

       Service Pack 2 pentru SQL Server 2016

Despre versiunile SQL Server

Fiecare versiune nouă pentru SQL Server conține toate remedierile rapide și remedierile de securitate care au fost în versiunea anterioară. Vă recomandăm să instalați cele mai recente actualizări cumulative pentru SQL Server:

Cea mai recentă actualizare cumulativă pentru SQL Server 2017

cea mai recentă versiune pentru SQL Server 2016

Pachetele Service Pack sunt cumulative. Fiecare pachet Service Pack nou conține toate remedierile din pachetele Service Pack anterioare, împreună cu orice remedieri noi. Recomandarea noastră este să aplicați cel mai recent pachet Service Pack și cea mai recentă actualizare cumulativă pentru pachetul Service Pack respectiv. Nu trebuie să instalați un pachet Service Pack anterior înainte de a instala cel mai recent pachet Service Pack. Utilizați Tabelul 1 din următorul articol pentru a găsi mai multe informații despre cel mai recent pachet Service Pack și cea mai recentă actualizare cumulativă.

Cum se determină nivelul de versiune, ediție și actualizare al SQL Server și componentele sale

Soluție de evitare

Pentru a rezolva această problemă, dezactivați punctele de verificare indirecte din baza de date tempdb utilizând una dintre următoarele instrucțiuni DDL (Data Definition Language).

Acest lucru ar trebui să se facă după cum urmează:

  • În baza de date modeldb (aceasta modifică și valoarea implicită pentru bazele de date noi), rulați următoarea instrucțiune:ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Sau, direct în baza de date tempdb de fiecare dată când pornește instanța, utilizând SQL Server Agent, utilizând următoarea instrucțiune:ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Sau emiteți periodic puncte de verificare manuale pentru baza de date tempdb, utilizând următoarea instrucțiune:use tempdbgo checkpointgo  

    În plus, TF 3468 poate fi utilizat pentru a dezactiva punctul de control indirect pe tempdb.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software. Consultați articolele următoare pentru mai multe informații:

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.