Korriger: Forårsake indirekte kontrollpunkter på tempdb-databasen "ikke gir scheduler" feil i SQL Server-2016 og 2017

Feil #: 10817173 (sqlbuvsts01)
Feil #: 10817762 (sqlbuvsts01)
Feil #: 66742 (innhold idé)
Feil #: 67465 (innhold idé)
Feil #: 66103 (innhold idé)

Symptomer

Indirekte kontrollpunkt er som standard slått på for tempdb-database i Microsoft SQL Server-2016 og 2017. En "scheduler ikke gir" feil kan oppstå under stor arbeidsbelastning forhold.

Løsning

Denne hurtigreparasjonen er inkludert i følgende oppdateringer og service pack:

Informasjon om oppdateringspakke for SQL Server-2016

Service Pack 2 for SQLServer 2016

Om SQL Server-versjoner

Hvert nytt Bygg for SQL Server inneholder alle hurtigreparasjoner og sikkerhetsoppdateringer reparasjonene som var i den tidligere versjonen. Vi anbefaler at du installerer de nyeste kumulative oppdateringene for SQL Server:

Nyeste kumulative oppdateringen for SQL Server-2017

siste versjonen for SQL Server-2016

Oppdateringspakker er kumulative. Hver nye oppdateringspakke inneholder alle reparasjonene som finnes i tidligere oppdateringspakker, sammen med eventuelle nye reparasjoner. Vår anbefaling er å bruke den nyeste oppdateringspakken, og den nyeste kumulative oppdateringen for denne oppdateringspakken. Du trenger ikke å installere en tidligere oppdateringspakke før du installerer den nyeste oppdateringspakken. Bruk tabell 1 i følgende artikkel for å finne mer informasjon om den nyeste oppdateringspakken og nyeste kumulative oppdateringen.

Slik fastslår du hvilken versjon, nivå edition og oppdateringen av SQL Server og tilhørende komponenter

Løsning

Du kan omgå dette problemet ved å deaktivere indirekte kontrollpunkter for tempdb-databasen ved hjelp av en av følgende setninger Data Definition Language (DDL).

Dette bør gjøres som følger:

  • På den modeldb databasen (dette også endringer som standardverdien for nye databaser), kjører du følgende setning: ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Eller direkte i tempdb-databasen hver gang forekomsten starter opp ved hjelp av SQL Server Agent ved hjelp av følgende setning: ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Eller utstede manuell kontrollpunkt mot tempdb-databasen med jevne mellomrom ved å bruke følgende setning: use tempdb go checkpoint go

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Stakk dumpet

Ikke-noe som gir en omgivelser for tråd på 0x7FFCC5EAC020
# Underordnet-SP RetAddr samtale område
00 (innebygd funksjon)-------sqlmin! SmtPause
01 000003b5 '7db7dfc0 00007ffc' c3f78a94 sqlmin! Spinlock < 96,11,1 >:: SpinToAcquireWithExponentialBackoff + 0x120
02 (innebygd funksjon)-------sqlmin! Spinlock < 96,11,1 >:: Get + 0x19
03 000003b5 '7db7e020 00007ffc' c3dcb31c sqlmin! DirtyPageMgr::WrotePage + 0x5d
04 000003b5 '7db7e050 00007ffc' c3dcb03c sqlmin! RecoveryUnit::WrotePage + 0x1c
05 000003b5 '7db7e0b0 00007ffc' c3ce5d76 sqlmin! BPool::WritePageCompletion + 0x147
06-000003b5 '7db7e610 00007ffc' c12310bc sqlmin! FCB::IoCompletion + 0x97
07 (innebygd funksjon)-------sqldk! SOS_IOCompRequest::ExecuteCompRoutine + 0x6
08 000003b5 '7db7e690 00007ffc' c1211ab3 sqldk! IOQueue::CheckForIOCompletion + 0x426
09 000003b5 '7db7e8c0 00007ffc' c1212048 sqldk! SOS_Scheduler::SwitchContext + 0x173
0a 000003b5`7db7eb90 00007ffc`c3c81a2f sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd3
0b 000003b5`7db7ebd0 00007ffc`c3cbd6ee sqlmin!EventInternal<SuspendQueueSLock>::Wait+0x1e7
0c 000003b5`7db7ec20 00007ffc`c3c8798e sqlmin!LatchBase::Suspend+0x697
0d (innebygd funksjon)-------sqlmin! LatchBase:: anskaffelse + 0x2c
0e 000003b5`7db7fc20 00007ffc`c3d7c66c sqlmin!BUF::AcquireLatch+0x7e
0f (innebygd funksjon)-------sqlmin! PageRef::Latch + 0xffffffff'ffff6422
10 (innebygd funksjon)-------sqlmin! PageRef::Latch + 0xffffffff'ffff6422
11 000003b5 '7db7fc70 00007ffc' c3d63e94 sqlmin! TargetExtentMgr::AllocPageFromTargetExtent + 0x6ac
12 000003b5 '7db7fe00 00007ffc' c3d7e479 sqlmin! AllocationReq::AllocateFromExistingExtents + 0xa39
13 000003b5 '7db80270 00007ffc' c3d7bb58 sqlmin! AllocationReq::AllocatePages + 0xdac
14 000003b5 '7db80c30 00007ffc' c3d811d2 sqlmin! AllocationReq:: tildele + 0xf3
15 000003b5 '7db80cb0 00007ffc' c3d80be1 sqlmin! AllocateHoBtDataPage + 0x5e8
16 000003b5 '7db80ee0 00007ffc' c3d80698 sqlmin! IndexPageManager::AllocatePage + 0x1ad
17-tommers 000003b5 '7db81020 00007ffc' c3d97fdf sqlmin! SplitPage + 0x8d8
18 000003b5 '7db81f90 00007ffc' c3d4b1c7 sqlmin! BTreeRow::UpdateRecord + 0x1f5c
19 000003b5 '7db86d50 00007ffc' c3d4668a sqlmin! IndexDataSetSession::SetDataInternal + 0x7030
1a 000003b5`7db8d030 00007ffc`c3d46526 sqlmin!DatasetSession::SetData+0x2ee
1b 000003b5`7db8d100 00007ffc`c235f120 sqlmin!RowsetNewSS::SetData+0x6a
1c 000003b5`7db8d140 00007ffc`c235f8ed sqllang!ODSSaveColumn+0x740
1d 000003b5`7db8d270 00007ffc`bac74904 sqllang!CInsertExec::SendRowImpl+0x1fd
1E (innebygd funksjon)-------sqltses! CallEsFn + 0x9
1f 000003b5`7db8d390 00007ffc`c16f797d sqltses!CEsExec::GeneralEval+0x1e9
20 (innebygd funksjon)-------sqllang! CEsRuntime:: Eval + 0x10
21 000003b5 '7db8d590 00007ffc' c16f9605 sqllang! CXStmtQuery::ErsqExecuteQuery + 0x5f0
22 (innebygd funksjon)-------sqllang! CXStmtSelect::XretDoExecute + 0xa8
23 000003b5 '7db8d710 00007ffc' c23454cb sqllang! CXStmtSelect::XretExecute + 0x322
24 (innebygd funksjon)-------sqllang! CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn + 0x17
25 000003b5 '7db8d7e0 00007ffc' c1ac4dfb sqllang! CMsqlExecContext::ExecuteStmts < 1,0 > + 0x15fb
26 000003b5 '7db8dec0 00007ffc' c16f8264 sqllang! CMsqlExecContext::FExecute + 0xaa5
27 000003b5 '7db8e1f0 00007ffc' c23e4197 sqllang! CSQLSource:: kjøre + 0x981
28 000003b5 '7db8e390 00007ffc' c23df148 sqllang! CStmtExecStr::XretExecStrExecute + 0x378
29 000003b5 '7db8e570 00007ffc' c2417a24 sqllang! CXStmtExecStr::XretExecute + 0x38
2a 000003b5`7db8e5b0 00007ffc`c2417db9 sqllang!CXStmtInsertExec::XretDoExecute+0x4b4
2b 000003b5`7db8e760 00007ffc`c23454cb sqllang!CXStmtInsertExec::XretExecute+0x49
2c (innebygd funksjon)-------sqllang! CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn + 0x17
2d 000003b5`7db8e790 00007ffc`c1ac4dfb sqllang!CMsqlExecContext::ExecuteStmts<1,0>+0x15fb
2e 000003b5`7db8ee70 00007ffc`c16f8264 sqllang!CMsqlExecContext::FExecute+0xaa5

Referanser

Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.

KE: v-fmeng
Forfatter:
Tekstforfatter: v-thomr
Teknisk redaktør: sqlprev; daleche; sanat; wonkim; v-fmeng
Redaktør: v-jeffbo

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×