FIX: Toegangsfout en "geen uitzonderingen moeten worden verhoogd door deze code" fout optreden wanneer u SQL Server 2012 of SQL Server-2014

BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.

De Engelstalige versie van dit artikel is de volgende: 3042135
Symptomen
Stel dat u Microsoft SQL Server 2012 of SQL Server-2014. Wanneer een deadlock in SQL Server optreedt, wordt volgende toegangsfout wordt veroorzaakt door de deadlock-monitor:
sqldk! CSlotGroup::PshRelease
sqldk! CSlotPageMgr::Release
sqllang! commondelete
sqllang [] verwijderen
sqllang! CTraceDataSTVF::InternalReleaseResources
sqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResources</CTraceDataSTVFInfo>
sqllang! CTraceDataSTVF:: {dtor}
sqllang! CTraceDataSTVF:: 'scalaire destructor verwijderen'
sqlmin! CSTVFInternal::Release
sqlmin! CQueryExecContext:: ~ CQueryExecContext
sqlmin! CQueryInstance::ShutdownQueryExecContext
sqlmin! CQueryScan::ShutdownQueryExecContext
sqlmin! CQueryScan::DestroyQueryOnException
sqllang! CXStmtQuery::ShutdownOnException
sqllang! CXStmtQuery::FinishOnExceptionImp
sqllang! GetInterruptTicks
sqllang! InterruptTicks<unsigned __int64="">:: LoadTicks</unsigned>
sqllang! SOS_Ticks<><unsigned __int64="">, -3 >:: LoadTicks</unsigned>
sqllang! 'CMsqlExecContext::FExecute':: '1':: catch$ 3
msvcr100! _CallSettingFrame
msvcr100! __CxxCallCatchBlock
Ntdll! RcFrameConsolidation
sqllang! CMsqlExecContext::FExecute
sqllang! CSQLSource::Execute
sqllang! CStmtExecProc::XretLocalExec
sqllang! CStmtExecProc::XretExecExecute
sqllang! CXStmtExecProc::XretExecute
sqllang! CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn
sqllang! CMsqlExecContext::ExecuteStmts<1,0></1,0>
sqllang! CMsqlExecContext::FExecute
sqllang! CSQLSource::Execute
sqllang! ExecuteSql
sqllang! CSpecProc::ExecuteSpecial
sqllang! CSpecProc::Execute
sqllang! process_request
sqllang! process_commands
sqldk! SOS_Task::param:: uitvoeren
sqldk! SOS_Scheduler::RunTask
sqldk! SOS_Scheduler::ProcessTasks
sqldk! SchedulerManager::WorkerEntryPoint
sqldk! SystemThread::RunWorker
sqldk! SystemThreadDispatcher::ProcessWorker
sqldk! SchedulerManager::ThreadEntryPoint
Kernel32! BaseThreadInitThunk
Ntdll! RtlUserThreadStart
Na de toegangsfout wordt het volgende foutbericht weergegeven in het foutenlogboek van SQL Server:
Datum>Tijd> spidID> Met behulp van 'dbghelp.dll' versie '4.0.5'
Datum>Tijd> spidID> ** Dump thread - spid =ID>, EG = 0X0000007F8608E160
Datum>Tijd> spidID> *** Stackdump wordt verzonden naarBestandspad>\Dump-bestandsnaam>.txt
Datum>Tijd> spidID> * *******************************************************************************
Datum>Tijd> spidID> *
Datum>Tijd> spidID> * BEGIN STACKDUMP:
Datum>Tijd> spidID> *Datum>Tijd> spidID>
Datum>Tijd> spidID> *
Datum>Tijd> spidID> * Locatie: qxcntxt.cpp:1143
Datum>Tijd> spidID> * Expressie:! " Geen uitzonderingen moeten worden verhoogd door deze code"
Datum>Tijd> spidID> * SPID:ID>
Datum>Tijd> spidID> * Proces-ID: 3556
Datum>Tijd> spidID> *
Datum>Tijd> spidID> * Buffer bytes 37 - invoer
Datum>Tijd> spidID> * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
Datum>Tijd> spidID> * ÿÿ & 01 00 00 00 ff ff 0c 00 00 00 00 00 26 04 04 05 00 00
Datum>Tijd> spidID> * 00
Datum>Tijd> spidID> *
Datum>Tijd> spidID> *
...
Datum>Tijd> spidID> Stack handtekening voor de dump is 0x000000014202549F
Datum>Tijd> spidID> [INFO] identiteit Begin End | State resultaat fout speculeren bereide LazyCommit ReadOnly | Transactie Database ThreadId | ReadSet WriteSet ScanSet opslagpunt LogSizeRq | CommitDep TotalComm afhankelijke 0 afhankelijke 1 afhankelijke 2 afhankelijke 3 afhankelijke 4 afhankelijke 5 afhankelijke 6 afhankelijke 7 | Locatie |
Datum>Tijd> spidID> Time-out voor externe dump proces 11800.

Datum>Tijd> spidID> Fout: 17066, ernst: 16 staat: 1.
Datum>Tijd> spidID> Bevestiging van SQL Server: bestand: <qxcntxt.cpp>, regel 1143 mislukt Assertion = = "!" Geen uitzonderingen moeten worden verhoogd door deze code' '. Deze fout kan zijn timing is gerelateerd. Als de fout blijft optreden nadat u de instructie opnieuw, de database voor de structurele integriteit controleren met DBCC CHECKDB of opnieuw opstarten van de server om ervoor te zorgen in het geheugen gegevensstructuren niet beschadigd zijn.</qxcntxt.cpp>

Oplossing

Cumulatieve Update-informatie

Het probleem is in eerste instantie opgelost in de volgende cumulatieve update van SQL Server.

Aanbeveling: Installeer de meest recente cumulatieve update voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Het is raadzaam dat u downloadt en installeert de meest recente cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 3042135 - Laatst bijgewerkt: 06/25/2015 06:33:00 - Revisie: 2.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3042135 KbMtnl
Feedback