KB4497928 - FIX: kaudsed kontrollpunktid tempdb andmebaasi põhjustab "Mittesaagistav ajasti" tõrge SQL Server 2016 ja 2017

Rakenduskoht
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sümptomid

Vaikimisi on microsoft SQL Server 2016 ja 2017 tempdb-andmebaasi kaudsed kontrollpunktid sisse lülitatud. Raske töökoormuse tingimustes võib ilmneda tõrge "Mittesaagistav ajasti" ja sys.dm_os_spinlock_stats DMV näitab spinlocki tüübi DP_LIST kõrgendatud spinlocki sisu.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Lahendus

See probleem on lahendatud järgmistes SQL Server koondvärskendustes.

Teave SQL Server koondvärskenduste kohta.

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.

Ajutine lahendus

Selle probleemi lahendamiseks lülitage tempdb-andmebaasis välja kaudsed kontrollpunktid, kasutades ühte järgmistest andmekirjelduskeele (DDL) lausetest.

Seda tuleks teha järgmiselt:

  • Käivitage modeldb-andmebaasis (see muudab ka uute andmebaaside vaikeväärtust) järgmine lause:

    ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Või otse tempdb-andmebaasis iga kord, kui eksemplar käivitub, kasutades SQL Server Agent järgmise lause abil:

    ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Või kasutage ajutise andmebaasi jaoks regulaarselt käsitsi kontrollpunkte, kasutades järgmist lauset:

    use tempdb
    go checkpoint
    go

    Lisaks saab TF 3468 kasutada tempdb-is kaudse kontrollpunkti keelamiseks.

Viited

Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta. Lisateavet leiate järgmistest artiklitest.