Sintomas
Suponha que utilize 2012 do Microsoft SQL Server ou SQL Server 2014. Quando ocorre um impasse do SQL Server, recebe a seguinte violação de acesso que é causada pelo monitor de impasse:
sqldk!CSlotGroup::PshReleasesqldk!CSlotPageMgr::Releasesqllang!commondeletesqllang! eliminar]sqllang!CTraceDataSTVF::InternalReleaseResourcessqllang!TTableBase<CTraceDataSTVFInfo>::ReleaseResourcessqllang! CTraceDataSTVF:: {dtor}sqllang! CTraceDataSTVF:: 'Eliminar o processo de destruição escalar'sqlmin!CSTVFInternal::Releasesqlmin!CQueryExecContext::~CQueryExecContextsqlmin!CQueryInstance::ShutdownQueryExecContextsqlmin!CQueryScan::ShutdownQueryExecContextsqlmin!CQueryScan::DestroyQueryOnExceptionsqllang!CXStmtQuery::ShutdownOnExceptionsqllang!CXStmtQuery::FinishOnExceptionImpsqllang!GetInterruptTickssqllang! InterruptTicks < não assinados __int64 >:: LoadTickssqllang! SOS_Ticks < InterruptTicks < não assinados __int64 >, -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::Param::Executesqldk!SOS_Scheduler::RunTasksqldk!SOS_Scheduler::ProcessTaskssqldk!SchedulerManager::WorkerEntryPointsqldk!SystemThread::RunWorkersqldk!SystemThreadDispatcher::ProcessWorkersqldk!SchedulerManager::ThreadEntryPointkernel32!BaseThreadInitThunkntdll!RtlUserThreadStart
Após a violação de acesso, recebe a seguinte mensagem de erro do registo de erros do SQL Server:
<Datada ><vezda > spid <ID> utilizando 'dbghelp. dll' versão '4.0.5'Spid <datada ><tempo> <ID> * * copiar thread - spid = <ID> CE = 0x0000007F8608E160Spid <datada ><tempo> <ID> * * * pilha de informação a ser enviada para <Caminho do ficheiro> \ <NomeFicheiro Dump>. txt<Date> <Time> spid<ID> * *******************************************************************************<Date> <Time> spid<ID> *Spid <datada ><tempo> <ID> * começar a copiar de pilha:Spid <datada ><tempo> <ID> * <datada ><tempo> spid <ID><Date> <Time> spid<ID> *Spid <datada ><tempo> <ID> * localização: qxcntxt.cpp:1143Spid <datada ><tempo> <ID> * expressão:! " Sem excepções devem ser aumentadas por este código"Spid <datada ><tempo> <ID> * SPID: <ID>Spid <datada ><tempo> <ID> * ID do processo: 3556<Date> <Time> spid<ID> *Spid <datada ><tempo> <ID> * bytes 37 da memória intermédia de entrada -Spid <datada ><tempo> <ID> * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00Spid <datada ><tempo> <ID> * ÿÿ & 01 00 00 00 ff ff 0c 00 00 00 00 00 26 04 04 05 00 00Spid <datada ><tempo> <ID> * 00<Date> <Time> spid<ID> *<Date> <Time> spid<ID> *...<Datada ><tempo> spid <IDda > assinatura da pilha para a informação de estado é 0x000000014202549F<IDda > [INFO] identidade inicial de spid <datada ><tempo> fim | Erro de estado resultado Speculate preparados LazyCommit ReadOnly | ThreadId de base de dados de transacção | LogSizeRq de ponto de salvaguarda de ScanSet ReadSet WriteSet | CommitDep TotalComm dependentes 0 dependentes 1 dependentes 2 dependentes 3 dependentes 4 dependentes 5 dependentes 6 dependentes 7 | Localização para a área |Spid <datada ><tempo> <ID> tempo de espera aguardar que o processo de informação de sistema externo 11800.Spid <datada ><tempo> <IDda > erro: 17066, gravidade: 16, estado: 1.Spid <datada ><tempo> <IDda > Declaração do SQL Server: ficheiro: < qxcntxt.cpp >, linha = 1143 falha na asserção = '! " Sem excepções devem ser aumentadas por este código"'. Este erro pode ser relacionado com a temporização. Se o erro persistir depois de voltar a executar a instrução, utilize DBCC CHECKDB para verificar a base de dados para integridade estrutural ou reinicie o servidor para assegurar a estruturas de dados na memória não estão danificadas.
Resolução
Informações sobre a actualização cumulativa
O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.
Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Recomendamos que transfira e instale as ultimas actualizações cumulativas para o SQL Server:
-
Actualização cumulativa mais recente para o SQL Server 2014 SP1
-
Actualização cumulativa mais recente para o SQL Server 2012 SP2
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".