Simptomi
Prema zadanim postavkama, neizravne kontrolne točke uključene su za bazu podataka tempdb u Microsoft SQL Server 2016 i 2017. U uvjetima teškog radnog opterećenja može se pojaviti pogreška "Planer koji ne daje dobit", a sys.dm_os_spinlock_stats DMV prikazuje povećani sadržaj spinlocka za vrstu DP_LIST spinlocka.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na".
Rješenje
Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:
O kumulativnim ažuriranjima za SQL Server:
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišli taj problem, isključite neizravne kontrolne točke u bazi podataka tempdb pomoću jedne od sljedećih naredbi jezika za definiranje podataka (DDL).
To treba učiniti na sljedeći način:
-
U bazi podataka modeldb (time se mijenja i zadana vrijednost za nove baze podataka), pokrenite sljedeću naredbu:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Ili izravno u bazi podataka tempdb svaki put kada se instanca pokrene pomoću SQL Server Agent sljedećom izjavom:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Ili povremeno izdajete ručne kontrolne točke u bazi podataka tempdb pomoću sljedeće naredbe:
use tempdb
go checkpoint
go
Osim toga, TF 3468 može se koristiti za onemogućivanje neizravne kontrolne točke na tempdb.
Reference
Informirajte se o terminologiji koju Microsoft koristi za opisivanje softverskih ažuriranja. Dodatne informacije potražite u sljedećim člancima: