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.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
Despre actualizările cumulative pentru SQL Server:
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
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 tempdb
go checkpoint
go
În plus, TF 3468 poate fi utilizat pentru a dezactiva punctul de control indirect pe tempdb.
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: