Symptom
Som standard är indirekta kontrollpunkter aktiverat för tempdb-databasen i Microsoft SQL Server 2016 och 2017. Under förhållanden med hög arbetsbelastning kan ett fel av typen "Schemaläggaren som inte ger" uppstå och sys.dm_os_spinlock_stats DMV visar förhöjda rotationslåset-innehåll för DP_LIST-rotationstypen.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Om kumulativa uppdateringar för SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som inkluderades i den föregående kumulativa uppdateringen. Ta en titta på de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Du kan komma runt det här problemet genom att inaktivera indirekta kontrollpunkter i tempdb-databasen med hjälp av något av följande DDL-uttryck (Data Definition Language).
Det bör du göra på följande sätt:
-
Kör följande instruktion på modeldb-databasen (detta ändrar också standardvärdet för nya databaser ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES):
-
Eller direkt på tempdb-databasen varje gång instansen startar genom att använda SQL Server-agenten med hjälp av följande uttryck: ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES
-
Du kan också med jämna mellanrum göra manuella kontrollpunkter mot tempdb-databasen genom att använda följande sats: use tempdb#x1 go TF 3468 kan dessutom användas för att inaktivera indirekt kontroll på tempdb.
Referenser
Läs mer om terminologin som Microsoft använder för att beskriva programuppdateringar. Mer information finns i följande artiklar: