Příznaky
Ve výchozím nastavení jsou nepřímé kontrolní body pro databázi tempdb v systému Microsoft SQL Server 2016 a 2017 zapnuté. V podmínkách velkého pracovního zatížení může dojít k chybě "Nepoddajný plánovač" a sys.dm_os_spinlock_stats DMV ukazuje zvýšenou kolizi spinlocku pro typ DP_LIST spinlock.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
Informace o kumulativních aktualizacích pro SQL Server:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2017
- Nejnovější kumulativní aktualizace pro SQL Server 2016
Alternativní řešení
Chcete-li tento problém obejít, vypněte nepřímé kontrolní body v databázi tempdb pomocí jednoho z následujících příkazů jazyka DDL (Data Definition Language).
To by mělo být provedeno následovně:
V databázi modeldb (tím se také změní výchozí hodnota pro nové databáze) spusťte následující příkaz:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTESNebo přímo v databázi tempdb při každém spuštění instance použitím agenta SQL Serveru pomocí následujícího příkazu:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTESNebo pravidelně zadávejte ruční kontrolní body pro databázi tempdb pomocí následujícího příkazu:
use tempdb
go checkpoint
goKromě toho lze TF 3468 použít k zakázání nepřímého kontrolního bodu na databázi tempdb.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru. Další informace najdete v následujících článcích: