Síntomas
Suponga que usa Microsoft SQL Server 2012 o SQL Server 2014. Cuando se produce un interbloqueo en SQL Server, recibe la siguiente infracción de acceso causada por el monitor de interbloqueo:
sqldk! CSlotGroup::P shReleasesqldk CSlotPageMgr:: Releasesqllang! commondeletesqllang! delete [] sqllang! CTraceDataSTVF::InternalReleaseResourcessqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResourcessqllang! CTraceDataSTVF:: {Dtor} sqllang! CTraceDataSTVF:: ' Scalar eliminando destructor'sqlmin! CSTVFInternal::Releasesqlmin! CQueryExecContext:: ~ CQueryExecContextsqlmin! CQueryInstance::ShutdownQueryExecContextsqlmin! CQueryScan::ShutdownQueryExecContextsqlmin! CQueryScan::D estroyQueryOnExceptionsqllang CXStmtQuery::ShutdownOnExceptionsqllang! CXStmtQuery::FinishOnExceptionImpsqllang! GetInterruptTickssqllang! InterruptTicks<__int64>:: LoadTickssqllang! SOS_Ticks<InterruptTicks<__int64 sin signo>,-3>:: LoadTickssqllang! ' CMsqlExecContext:: FExecute ':: ' 1 ':: Catch $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
Después de la infracción de acceso, recibe el siguiente mensaje de error del registro de errores de SQL Server:
<fecha> <tiempoDate> SPID<ID> uso de ' dbghelp. dll ' versión ' 4.0.5 ' <la fecha> <tiempo> SPID> <0 ID> de SPID <Time> * * dump thread (SPID => <4 ID> <, EC Time = 0x0000007F8608E160> la fecha> <8 el tiempo> spid <ID> * * * Stack dump se envía a <ruta de acceso del archivo> \ txt> <4 Date> <Time> SPID> <8 ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ID * * * * * *> dela fecha <tiempo> <spid> .> <4>> << <fecha> <tiempo> identificador de<SPID> * <de fecha> <hora> tiempo <><del identificador> < del SPID> la> <8 * Ubicación: qxcntxt. cpp: 1143> Date <Time> <de> SPID> <4 ID> *. : !" Este código no debe mostrar ninguna excepción "<fecha> <el tiempo> SPID> <6 ID> * SPID: <ID><de fecha> <tiempo> spid > <4 ID> * Process id: 3556> <6 de fecha> <tiempo> spid><0 ID> * <de fecha > <tiempo> spid><6 id > * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 <Date > < time >tiempo> <02 SPID> ID> <04 * ÿÿ> <01 00 00 00 FF FF 0C 00 00 00 00 00 26 04 04 05 00 00> *> <08> 37 fecha> <tiempo> SPID> <5 ID> * 00> <7tiempo> <tiempo> SPID> <1 ID> * <tiempo> <SPID> ID> <7r SPID> Time <> <Time> SPID> <3.> de datos en el de> <5 de> <SPID> <9 ID> [info] Inicio de identidad de Identity | Error de resultado de estado especular preparado LazyCommit solo lectura | Base de datos de transacciones ThreadId | ReadSet WriteSet ScanSet punto de retorno LogSizeRq | CommitDep TotalComm dependiente 0 dependiente 1 dependiente 2 dependiente 2 dependiente 3 dependiente 4 dependientes 5 dependientes 6 dependientes 6 dependientes 7 | Ubicación del área |> <41 fecha> <tiempo> SPID> <45 identificador> el tiempo de espera del proceso de volcado externo 11800. <de fecha> <tiempo> SPID> <1 identificador> error: 17066, gravedad: 16, estado: 1 . <el tiempo> <tiempo> SPID> <7 identificador> SQL Server Assertion: <qxcntxt. cpp>, line = 1143 error de aserción = '! " Este código no debe emitir excepciones. Este error puede estar relacionado con el tiempo. Si el error persiste después de volver a ejecutar la instrucción, Use DBCC CHECKDB para comprobar la integridad estructural de la base de datos o reinicie el servidor para asegurarse de que las estructuras de datos en memoria no están dañadas.
Resolución
Información de actualización acumulativa
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Le recomendamos que descargue e instale las últimas actualizaciones acumulativas de SQL Server:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".