Symptomer
Som standard er indirekte kontrolpunkter aktiveret for tempdb-databasen i Microsoft SQL Server 2016 og 2017. Under svære arbejdsbelastningsforhold kan der opstå en "ikke-afkastende planlægger"-fejl, og den sys.dm_os_spinlock_stats DMV viser forhøjet spinlock-strid for den DP_LIST spinlocktype.
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Dette problem er rettet i følgende kumulative opdateringer til SQL Server:
Om kumulative opdateringer til SQL Server:
Hver ny samlet opdatering til SQL Server indeholder alle hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den tidligere akkumulerede opdatering. Se de seneste kumulative opdateringer til SQL Server:
Løsning
Du kan løse dette problem ved at deaktivere indirekte kontrolpunkter i tempdb-databasen ved hjælp af en af følgende DDL-sætninger (Data Definition Language).
Dette skal gøres på følgende måde:
-
På modeldb-databasen (dette ændrer også standardværdien for nye databaser) skal du køre følgende sætning:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Eller direkte i tempdb-databasen, hver gang forekomsten starter, ved hjælp af SQL Server Agent ved hjælp af følgende sætning:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Du kan også med jævne mellemrum udstede manuelle kontrolpunkter mod tempdb-databasen ved hjælp af følgende sætning:
use tempdb
go checkpoint
go
Desuden kan TF 3468 bruges til at deaktivere indirekte kontrolpunkt på tempdb.
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer. Du kan få mere at vide i følgende artikler: