Příznaky
Ve výchozím nastavení jsou pro databázi tempdb v Microsoft SQL Server 2016 a 2017 zapnuté nepřímé kontrolní body. V podmínkách s velkým zatížením může dojít k chybě plánovače bez výnosu a sys.dm_os_spinlock_stats zobrazení dynamické správy zobrazí kolize číselníku se zvýšenými oprávněními pro typ číselníku DP_LIST.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
Kumulativní aktualizace 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:
Řešení
Chcete-li tento problém vyřešit, vypněte nepřímé kontrolní body v databázi tempdb pomocí jednoho z následujících příkazů jazyka DDL (Data Definition Language).
Měli byste to udělat takto:
-
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 MINUTES -
Nebo přímo v databázi tempdb při každém spuštění instance pomocí agenta SQL Server pomocí následujícího příkazu:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Nebo pravidelně vystavujte ruční kontrolní body pro databázi tempdb pomocí následujícího příkazu:
use tempdb
go checkpoint
go
Tf 3468 se navíc dá použít k zakázání nepřímého kontrolního bodu v databázi tempdb.
Odkazy
Přečtěte si o terminologii, kterou Microsoft používá k popisu aktualizací softwaru. Další informace najdete v následujících článcích: