Korriger: Brudd på tilgangstillatelse oppstår på primære replika av AlwaysOn tilgjengelighet gruppe i SQL Server

Arbeid hvor som helst fra en hvilken som helst enhet med Microsoft 365

Oppgrader til Microsoft 365 for å arbeide hvor som helst med de nyeste funksjonene og oppdateringene.

Oppgrader nå

Feil #: 11281548 (sqlbuvsts01)
Feil #: 10921921 (sqlbuvsts01)
Feil #: 74546 (innhold idé)
Feil #: 68985 (innhold idé)

Symptomer

Anta at du bruker AlwaysOn tilgjengelighet gruppe (AG) i en Microsoft SQL Server-forekomst. Når SQL-serveren starter på nytt, kan du få et brudd på tilgangstillatelse på den primære replikaen. I tillegg kan det hende at det genereres en minnedump.

Løsning

Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:

Kumulativ oppdatering 4 for SQLServer 2017

Samleoppdatering 6 for SQL Server 2016 SP1

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:

Nyeste kumulative oppdateringen for SQL Server-2017

Nyeste kumulative oppdateringen for SQL Server-2016

Status

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

Kallstakk: This is call stack from health dump, use !mex.us   # Child-SP          RetAddr           Call Site 00 00000289`0eb5ea48 00007ff9`aa171118 ntdll!ZwWaitForSingleObject+0xa 01 00000289`0eb5ea50 00007ff9`8ca42dec KERNELBASE!WaitForSingleObjectEx+0x94 02 00000289`0eb5eaf0 00007ff9`8ca414fc sqldk!SOS_Scheduler::SwitchContext+0x3ad 03 00000289`0eb5edc0 00007ff9`8fd5186f sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd3 04 00000289`0eb5ee00 00007ff9`90470be5 sqlmin!EventInternal<SuspendQueueSLock>::Wait+0x1e7 05 (Inline Function) --------`-------- sqlmin!DbMgrPartnerCommitPolicy::WaitForHardenedBlockInit+0x31 06 (Inline Function) --------`-------- sqlmin!HaDrDbMgr::WaitForReplicaCatchupHelper+0x4a 07 00000289`0eb5ee50 00007ff9`9046fccb sqlmin!HaDrDbMgr::WaitForReplicaCatchUpInternal+0xd6 08 00000289`0eb5efd0 00007ff9`905b448f sqlmin!HaDrDbMgr::WaitForReplicaCatchUp+0x32c 09 00000289`0eb5f230 00007ff9`905b76c7 sqlmin!CHadrArBuildSourceStateCatchup::CatchupAsyncTask+0x25f 0a 00000289`0eb5f360 00007ff9`905b5df6 sqlmin!CHadrArBuildStateBase::CallFuncAndResumeBuildTask<CHadrArBuildOpContext,CHadrArBuildStateCatchup>+0x257 0b 00000289`0eb5f490 00007ff9`8ca457bd sqlmin!<lambda_46f7db49634906611a7d6ab7b9198974>::<helper_func_cdecl>+0x27 0c 00000289`0eb5f4d0 00007ff9`8ca455a5 sqldk!SOS_Task::Param::Execute+0x231 0d 00000289`0eb5fad0 00007ff9`8ca451fd sqldk!SOS_Scheduler::RunTask+0xaa 0e 00000289`0eb5fb40 00007ff9`8ca60d18 sqldk!SOS_Scheduler::ProcessTasks+0x3cd   This is call stack from AV dump   # Child-SP          RetAddr           Call Site 00 00000288`9df2f258 00007ff9`905b5df6 0x0000013f`ff855fe0 01 00000288`9df2f260 00007ff9`8ca457bd sqlmin!<lambda_46f7db49634906611a7d6ab7b9198974>::<helper_func_cdecl>+0x27 02 00000288`9df2f2a0 00007ff9`8ca455a5 sqldk!SOS_Task::Param::Execute+0x231 03 00000288`9df2f8a0 00007ff9`8ca451fd sqldk!SOS_Scheduler::RunTask+0xaa 04 00000288`9df2f910 00007ff9`8ca60d18 sqldk!SOS_Scheduler::ProcessTasks+0x3cd 05 00000288`9df2f9f0 00007ff9`8ca60db0 sqldk!SchedulerManager::WorkerEntryPoint+0x2a1 06 00000288`9df2fac0 00007ff9`8ca608d7 sqldk!SystemThread::RunWorker+0x8f 07 00000288`9df2faf0 00007ff9`8ca61038 sqldk!SystemThreadDispatcher::ProcessWorker+0x2de   Go to bad dump, the last frame before AV, 0b 00000289`0eb5f490 00007ff9`8ca457bd sqlmin!<lambda_46f7db49634906611a7d6ab7b9198974>::<helper_func_cdecl>+0x27 Now if we go back compare both dump in the same frame.   Good Dump:   0:619> dv           pData = 0x00000112`bc2e2f00               p = class CAutoP<`CHadrArBuildStateBase::StartAsyncTask<CHadrArBuildOpContext,CHadrArBuildStateCatchup>'::`2'::Parameters> 0:619> dps 0x00000112`bc2e2f00 00000112`bc2e2f00  0000014a`e40ceb60  => context 00000112`bc2e2f08  00000104`d84a7980  => state 00000112`bc2e2f10  00007ff9`905b3fc0 sqlmin!CHadrArBuildStateCatchup::CatchupAsyncTask [d:\b\s3\sources\sql\ntdbms\hadr\ar_manager\src\hadrarbuildstate.cpp @ 1656]   Then we look at the context, the first qword is v-table, then dereference the v-table. 0:619> dps 0x000014a`e40ceb60 0000014a`e40ceb60  00007ff9`919a1428 sqlmin!CHadrArBuildSourceOpContext::`vftable'   0:619> dps 0x0007ff9`919a1428 00007ff9`919a1428  00007ff9`905ac760 sqlmin!CHadrArBuildSourceOpContext::`scalar deleting destructor' 00007ff9`919a1430  00007ff9`90472bc0 sqlmin!HadrRefcountedObject::AddRef [d:\b\s3\sources\sql\ntdbms\hadr\inc\hadrtypes.inl @ 113] 00007ff9`919a1438  00007ff9`90472bd0 sqlmin!HadrRefcountedObject::Release [d:\b\s3\sources\sql\ntdbms\hadr\inc\hadrtypes.inl @ 151] 00007ff9`919a1440  00007ff9`904891e0 sqlmin!HadrTaskContext::GetTaskType [d:\b\s3\sources\sql\ntdbms\hadr\inc\hadrworkpool.h @ 188] 00007ff9`919a1448  00007ff9`9050c800 sqlmin!HadrCancellableTaskContext::WorkCompleted [d:\b\s3\sources\sql\ntdbms\hadr\inc\hadrworkpool.h @ 276]     Bad Dump:   0:000> dv           pData = 0x00000104`d84a6320               p = class CAutoP<`CHadrArBuildStateBase::StartAsyncTask<CHadrArBuildOpContext,CHadrArBuildStateCatchup>'::`2'::Parameters> 0:000> dps 0x00000104`d84a6320 00000104`d84a6320  0000013f`ff854040  => context 00000104`d84a6328  000000f9`940eb920 00000104`d84a6330  00007ff9`905b3fc0 sqlmin!CHadrArBuildStateCatchup::CatchupAsyncTask [d:\b\s3\sources\sql\ntdbms\hadr\ar_manager\src\hadrarbuildstate.cpp @ 1656] 00000104`d84a6338  0000013f`ff854040   0:000> dps 0x0000013f`ff854040 0000013f`ff854040  0000013f`ff855710   dps 0000013f`ff855710 0000013f`ff855710  00000bb0`00080074 0000013f`ff855718  b0000000`000008c0 0000013f`ff855720  0000013f`ff855fe0 0000013f`ff855728  0000013f`ff854030    Clearly CHadrArBuildOpContext already corrupted and doesn’t have a good virtual table to look up. At the end, it just access a wrong address for AutoRef.

Referanser

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

LAG: v-fmeng
Author: 
Writer: v-madora
Teknisk redaktør: lzhang; nathansc; zeche; jopilov; v-fmeng;
Redaktør: v-idsun

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.

×