Korriger: SQLServer slutter å svare når du sikkerhetskopierer sertifikatet som brukes til å kryptere databasen krypteringsnøkkelen i SQL Server 2012 eller SQL Server-2014

Feil #: 5686787 (SQLBU VSTS)
Feil #: 27176 (innhold idé)


Microsoft distribuerer hurtigreparasjoner for Microsoft SQL Server 2012 som én nedlastbar fil. Fordi reparasjonene er kumulative, inneholder hver nye utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2012 Løs utgivelsen.

Symptomer

Tenk deg følgende:

  • Anta at du angir en database for å bruke gjennomsiktige Data kryptering (TDE) i en forekomst av SQL Server 2012 eller SQL Server-2014.

  • Du kan sikkerhetskopiere sertifikatet som brukes til å kryptere databasen krypteringsnøkkelen.

  • Én eller flere operasjoner (for eksempel operasjoner som krever skrivetilgang aktivitet til transaksjonsloggen for databasen TDE aktivert) er i gang.

I dette scenariet kan SQL Server slutter å svare.

I tillegg kan du se økter som venter på skjemaet stabilitet (Sch-S) lås på ressursen sertifikat. Hvis du ikke kan opprette nye tilkoblinger til forekomsten av SQL Server, kan du prøve å overvåke Lås informasjonen ved hjelp av Admin-tilkobling.

Oppløsning

Informasjon om kumulativ oppdatering

Problemet ble først løst i følgende kumulative oppdateringer for SQL Server:

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Vi anbefaler at du laster ned og installerer de nyeste kumulative oppdateringene for SQL Server:


Status

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

Informasjon om kallstakk

De fleste av tråder som venter på stakken følgende:

ntdll!ZwSignalAndWaitForSingleObject
kernel32!SignalObjectAndWait
sqldk!SystemThread::SignalAndWait
sqldk!SOS_Scheduler::Switch
sqldk!SOS_Scheduler::SuspendNonPreemptive
sqlmin!EventInternal<SuspendQueueSLock>::Wait
sqlmin!LC::WaitForMemBlk
sqlmin!LCInsertRecord
sqlmin!LC::InsertRecord
sqlmin!SQLServerLogMgr::AppendLogRequest
sqlmin!SQLServerLogMgr::ReserveAndAppend
sqlmin!LogMgr::ReserveAndAppend
sqlmin!XdesRMReadWrite::GenerateLogRec
sqlmin!XdesRMReadWrite::LogBeginXact
sqlmin!XdesRMReadWrite::MakeActive
sqlmin!XdesRMReadWrite::GenerateLogRec


Følgende er stakken for tråden for logg Writer (venter på en lås ressurs):

ntdll!ZwWaitForSingleObject+0xa
KERNELBASE!WaitForSingleObjectEx+0x79
sqldk!SOS_Scheduler::SwitchContext+0x302
sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
sqlmin!EventInternal<SuspendQueueSLock>::Wait+0x1ee
sqlmin!LockOwner::Sleep+0x495
sqlmin!LockOwner::GetClass+0xb97c7
sqlmin!lck_lockInternal+0xebd
sqlmin!lck_lock+0x13
sqlmin!MDL::LockGenericLocal+0x17f
sqlmin!MDL::LockGenericIdsLocal+0x65
sqlmin!MDL::LockGenericIds+0x24
sqlmin!MDL::LockULongId+0x24
sqlmin!CMEDCacheEntryFactory::AcquireLock+0x34
sqlmin!CMEDCacheEntryFactory::GetProxiedCacheEntryById+0xba
sqlmin!CMEDCacheEntryFactory::GetProxiedCacheEntryByAltKey+0xcb
sqlmin!CMEDCatObfusKey::GetProxyCertByThumbprint+0x64
sqlmin!CMEDProxyDatabase::GetCertificateByThumbprint+0xab
sqllang!CSECDEK::DecryptCurrDEK+0x143
sqllang!CSECDEK::SetupAfterLoadFromDisk+0x4d
sqlmin!SQLServerLogMgr::GetDEKWithRef+0x2e3
sqlmin!SQLServerLogMgr::FormatLC+0x37
sqlmin!ListBase::IsEmpty+0x1fd


Følgende er stakken for å kjøre kommandoen sertifikat for sikkerhetskopiering:

ntdll!ZwWaitForSingleObject+0xa
KERNELBASE!WaitForSingleObjectEx+0x79
sqldk!SOS_Scheduler::SwitchContext+0x302
sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
sqlmin!SQLServerLogMgr::WaitLCFlush+0x1c8
sqlmin!SQLServerLogMgr::LogFlush+0x1ee
sqlmin!SQLServerLogMgr::WaitLogWritten+0x1a
sqlmin!RecoveryUnit::HardenLog+0x37a
sqlmin!XdesRMFull::CommitInternal+0x5c1
sqlmin!XdesRMFull::Commit+0x13
sqlmin!XactRM::SinglePhaseCommit+0x20d
sqlmin!XactRM::CommitInternal+0x4b9
sqlmin!XactRM::Commit+0x14
sqlmin!FullXactImp::Commit+0x326
sqllang!CMsqlXactInternalReadWrite::Commit+0x15
sqllang!CMsqlXactImp::Commit+0x1cc
sqllang!CXStmtDDL::FinishNormalImp+0xdf
sqllang!CExecuteStatement::FinishNormal+0xd
sqllang!CMsqlExecContext::CleanupXStmtNormal+0xd
sqllang!CExecStmtLoopVars::PostStmtExec+0x1004
sqllang!CMsqlExecContext::ExecuteStmts<1,0>+0x27a9
sqllang!CExecLevel::FExecType+0x4a1
sqllang!CExecLvlRepresentation::FObject+0x4a1
sqllang!CExecLvlRepresentation::FEmbedFunc+0x4a1
sqllang!CMsqlExecContext::FExecute+0xa3a
sqllang!CSQLSource::Execute+0x866
sqllang!CStmtExecStr::XretExecStrExecute+0x43e

Referanser

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

Forfatter: rmaini
Tekstforfatter: v-thomr
Teknisk redaktør: rmaini; sqlprev; keiikoga; mattjon; tejasaks; v-fmeng;
Redaktør: v-anwale

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.

×