Príznaky
Predpokladajme, že používate Microsoft SQL Server 2012 alebo SQL Server 2014. Pri výskyte zablokovania na serveri SQL Server sa zobrazí toto porušenie prístupu, ktoré je spôsobené monitorom zablokovania:
sqldk! CSlotGroup::P shReleasesqldk! CSlotPageMgr:: Releasesqllang! commondeletesqllang! Delete [] sqllang! CTraceDataSTVF::InternalReleaseResourcessqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResourcessqllang! CTraceDataSTVF::{dtor}sqllang! CTraceDataSTVF:: ' skalárne odstraňovanie destructor'sqlmin! CSTVFInternal::Releasesqlmin! CQueryExecContext:: ~ CQueryExecContextsqlmin! CQueryInstance::ShutdownQueryExecContextsqlmin! CQueryScan::ShutdownQueryExecContextsqlmin! CQueryScan::D estroyQueryOnExceptionsqllang! CXStmtQuery::ShutdownOnExceptionsqllang! CXStmtQuery::FinishOnExceptionImpsqllang! GetInterruptTickssqllang! InterruptTicks<nepodpísaný __int64>:: LoadTickssqllang! SOS_Ticks<InterruptTicks<nepodpísaný __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::P Aram:: Executesqldk! SOS_Scheduler:: RunTasksqldk! SOS_Scheduler::P rocessTaskssqldk! SchedulerManager::WorkerEntryPointsqldk! SystemThread::RunWorkersqldk! SystemThreadDispatcher::P rocessWorkersqldk! SchedulerManager::ThreadEntryPointkernel32! BaseThreadInitThunkntdll! RtlUserThreadStart
Po porušení prístupu sa zobrazí nasledujúce chybové hlásenie z denníka chýb servera SQL Server:
<dátum> <času> číslo SPID<ID> s použitím ' dbghelp. dll ' version ' 4.0.5 ' <dátum> <času> SPID> <0 id> * * dump vlákno-SPID = <id>, EC = 0X0000007F8608E160> <4 Dátum> <času> číslo spid> <8 id> * * * stack dump sa odosiela do <cestu k súboru> \ <dump filename>. txt> <4 Dátum> <času> číslo SPID> <8 ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <dátum> <času> číslo SPID> <4 ID> * <dátum> <času> číslo spid<ID> * začiatok výpisu zásobníka: <Dátum> <času> číslo SPID<ID> * <Dátum> <času> SPID <ID><Dátum> <času> SPID> <8 ID> * <Dátum> <času> číslo SPID> <4 ID> * umiestnenie: qxcntxt. cpp: 1134> <6 Dátum> <času> číslo SPID> <0 ID> * Expression : !" Tento kód by mal byť zvýšený o žiadne výnimky <dátum> <času> číslo SPID> <6 ID> * číslo spid: <ID><Dátum> <času> číslo SPID> <4 ID> * proces ID: 3556> <6 Dátum> <času> číslo SPID><0 ID> * <dátum> <času> číslo SPID><6 id> * vstupná medzipamäť 37 bajtov-<dátum> <času> SPID> <02 id> * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00> <04 dátum> <času> číslo SPID> <08 id> * Ÿÿ & 01 00 00 00 FF FF 0c 00 00 00 00 00 26 04 04 05 00 00> <1 Dátum> <času> číslo SPID> <5 ID> * 00> <7 Dátum> <času> číslo SPID> <1 ID> * <Dátum> <času> číslo SPID> <7 ID> *... <Dátum> <času> číslo SPID> <3 ID> podpis zásobníka je 0x000000014202549F> <5 Dátum> <času> SPID> <9 ID> [INFO] identita začiatku | Chyba v stave výsledok špekulovať o pripravenosti LazyCommit ReadOnly | Databáza transakcií ThreadId | ReadSet WriteSet ScanSet najpravdepodobnejšou LogSizeRq | CommitDep TotalComm závislé od 0 závislých 1 závislých 2 závislých 3 závislých od 4 závislých 5 závislých od 6 | Umiestnenie oblasti |> <41 dátum> <čas> číslo SPID > <45 ID> timeout čakania na externý dump proces 11800. <Dátum> <čas> číslo SPID> <1 ID> chyba: 17066, závažnosť: 16, stav: 1. <Dátum> <čas> číslo SPID> <7 ID> SQL Server tvrdení: file: <qxcntxt. cpp>, Link = 1148 zlyhalo tvrdenie = '! " Tento kód by nemal byť zvýšený o žiadne výnimky. Táto chyba môže byť súvisiaca s časovaním. Ak chyba pretrváva aj po opätovnom spustení príkazu, použite príkaz DBCC CHECKDB na kontrolu databázy pre štrukturálnu integritu alebo reštartujte server, aby sa zabezpečilo, že dátové štruktúry v pamäti nie sú poškodené.
Riešenie
Kumulatívna aktualizácia informácií
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Odporúčame, aby ste si stiahli a nainštalovali najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.