Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptome

Să presupunem că utilizați Microsoft SQL Server 2012 sau SQL Server 2014. Atunci când apare un impas în SQL Server, primiți următoarea încălcare de acces cauzată de monitorul de blocări:

sqldk! CSlotGroup::P shReleasesqldk! CSlotPageMgr:: Releasesqllang! commondeletesqllang! Delete [] sqllang! CTraceDataSTVF::InternalReleaseResourcessqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResourcessqllang! CTraceDataSTVF:: {Tabadtor} sqllang! CTraceDataSTVF:: ' scalară ștergerea destructor'sqlmin! CSTVFInternal::Releasesqlmin! CQueryExecContext:: ~ CQueryExecContextsqlmin! CQueryInstance::ShutdownQueryExecContextsqlmin! CQueryScan::ShutdownQueryExecContextsqlmin! CQueryScan::D estroyQueryOnExceptionsqllang! CXStmtQuery::ShutdownOnExceptionsqllang! CXStmtQuery::FinishOnExceptionImpsqllang! GetInterruptTickssqllang! InterruptTicks<nesemnat __int64>:: LoadTickssqllang! SOS_Ticks<InterruptTicks<nesemnată __int64>,-3>:: LoadTickssqllang! ' CMsqlExecContext:: FExecute ':: ' 1 ':: prinde $3msvcr100! _CallSettingFramemsvcr100! __CxxCallCatchBlockntdll! RcFrameConsolidationsqllang! CMsqlExecContext::FExecutesqllang! CSQLSource::Executesqllang! CStmtExecProc::XretLocalExecsqllang! CStmtExecProc::XretExecExecutesqllang! CXStmtExecProc::XretExecutesqllang! CExecStmtLoopVars::ExecuteXStmtAndSetXretReturnsqllang! CMsqlExecContext:: ExecuteStmts<1,0>sqllang! CMsqlExecContext::FExecutesqllang! CSQLSource::Executesqllang! ExecuteSqlsqllang! CSpecProc::ExecuteSpecialsqllang! CSpecProc:: Executesqllang! process_requestsqllang! process_commandssqldk! SOS_Task::P Aram:: Executesqldk! SOS_Scheduler:: RunTasksqldk! SOS_Scheduler::P rocessTaskssqldk! SchedulerManager::WorkerEntryPointsqldk! SystemThread::RunWorkersqldk! SystemThreadDispatcher::P rocessWorkersqldk! SchedulerManager::ThreadEntryPointkernel32! BaseThreadInitThunkntdll! RtlUserThreadStart

După încălcarea accesului, primiți următorul mesaj de eroare din jurnalul de erori SQL Server:

<data> <timp> SPID<ID> folosind ' dbghelp. dll ' version ' 4.0.5 ' <data> <timp> SPID> <0 id> * * dump thread-SPID = <ID>, EC = 0x0000007F8608E160> <4 data> <> SPID> <8 ID> * * * stivă Dump fiind trimis la <fișier> <\> dump nume de utilizator. txt> <4 data > < ora > SPID Time> <8 ID > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <data Date> <> spid> ID < * începe stiva Dump:> <4 <data> <timp> SPID<id> * <dată> <timp> SPID <ID><dată> <timp> SPID> <8 ID> * <data> <de timp> SPID> <4 ID> * locație: qxcntxt. CPP: 1143> <6 dată> <dată> SPID> <0 ID> * expresie : !" Nu ar trebui să fie ridicate excepții prin acest cod "<dată> <dată> SPID> <6 id> * spid: <id><dată> <timp> SPID> <4 id> * proces ID: 3556> <6 data> <timp> spid><0 ID> * <dată> <timp> spid><6 ID> * tampon de intrare 37 bytes-<data> <timp> SPID> <02 ID> * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00> <04 data> <timp> SPID> <08 ID> * ÿÿ & 01 00 00 00 ff ff 0c 00 00 00 00 00 26 04 04 05 00 00> <1 dată> <timp> SPID> <5 id> * 00> <7 dată> <timp> SPID> <1 ID> * <dată> <timp> SPID> <7 ID> *.. . <dată> <timp> SPID> <3 ID> stivă semnătură pentru dump este 0x000000014202549F> <5 dată> <dată> SPID> <9 ID> [Info] Identity Begin end | Eroare de rezultat a stării speculează preparat LazyCommit ReadOnly | Baza de date de tranzacții ThreadId | ReadSet WriteSet ScanSet savepoint LogSizeRq | CommitDep TotalComm dependent de 0 dependent de 1 dependent de 2 dependent de 3 dependente de 4 dependente de 5 dependente 6 | Amplasarea zonei |> <41 dată> <dată> SPID> <45 ID> expirare așteptare pentru procesul de dumping extern 11800 . <dată> <timp> SPID> <1 ID> eroare : 17066, severitate: 16, stat: 1. <dată> <timp> SPID> <7 ID> SQL Server afirmație: File: <qxcntxt. cpp>, line = 1143 a eșuat afirmația = '! " Nu ar trebui să fie ridicate excepții prin acest cod "'. Această eroare poate avea legătură cu sincronizarea. Dacă eroarea persistă după ce Reexecutați instrucțiunea, utilizați DBCC CHECKDB pentru a verifica baza de date pentru integritatea structurală sau reporniți serverul pentru a vă asigura că structurile de date din memorie nu sunt deteriorate.

Rezolvare

Informații despre actualizarea cumulativă

Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.

Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Vă recomandăm să descărcați și să instalați cele mai recente actualizări cumulative pentru SQL Server:

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.