Príznaky
Na základe predvoleného nastavenia sú v databáze tempdb v Microsoft SQL Server 2016 a 2017 zapnuté nepriame kontrolné body. Pri náročných podmienkach zaťaženia sa môže vyskytnúť chyba "nepoddajný Plánovač" a sys.dm_os_spinlock_stats DMV zobrazuje zvýšený spinlock tvrdení pre typ DP_LIST spinlock.
Riešenie
Táto oprava je zahrnutá v nasledujúcich aktualizáciách a balíkoch Service Pack:
-
Kumulatívna aktualizácia balíka 5 pre SQL Server 2016 Service Pack 1
-
Kumulatívna aktualizácia 8 pre SQL Server 2016
Informácie o balíku Service Pack pre SQL Server 2016
Zostavy SQL servera
Každá nová zostava pre SQL Server obsahuje všetky opravy rýchlych opráv a zabezpečenia, ktoré boli v predchádzajúcej zostave. Odporúčame nainštalovať najnovšie kumulatívne aktualizácie pre SQL Server:
Balíky Service Pack sú kumulatívne. Každý nový balík Service Pack obsahuje všetky opravy, ktoré sa nachádzajú v predchádzajúcich balíkoch Service Pack, spolu s novými opravami. Naším odporúčaním je použiť najnovší balík Service Pack a najnovšiu Kumulatívna aktualizácia pre daný balík Service Pack. Skôr než nainštalujete najnovší balík Service Pack, nemusíte nainštalovať predchádzajúci balík Service Pack. Na vyhľadanie ďalších informácií o najnovšom balíku Service Pack a najnovšej kumulatívnej aktualizácii použite tabuľku 1 v nasledujúcom článku.
Ako zistiť úroveň verzie, vydania a aktualizácie SQL servera a jeho súčastí
Alternatívne riešenie
Ak chcete tento problém obísť, vypnite nepriame kontrolné stanovište v databáze tempdb použitím niektorého z týchto tvrdení jazyka DDL (Data Definition Language).
Toto by sa malo vykonať takto:
-
V databáze modeldb (to tiež zmení predvolenú hodnotu pre nové databázy), spustite nasledujúci príkaz:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Alebo priamo z databázy tempdb zakaždým, keď sa inštancia spustí pomocou SQL servera agenta pomocou tohto príkazu:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Alebo pravidelne vydávanie manuálnych kontrolných bodov v databáze tempdb pomocou nasledujúceho príkazu:
use tempdb
go checkpoint
go
Okrem toho je možné použiť TF 3468 na zakázanie nepriameho kontrolného bodu v tempdb.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Oboznámte sa s terminológiou , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru. Ďalšie informácie nájdete v nasledujúcich článkoch: