Проблемы
Предположим, что вы используете Microsoft SQL Server 2012 или SQL Server 2014. При возникновении взаимоблокировки в SQL Server появляется следующее нарушение прав доступа, вызванное монитором взаимоблокировок.
sqldk! CSlotGroup::P shReleasesqldk! CSlotPageMgr:: Releasesqllang! commondeletesqllang! Delete [] sqllang! CTraceDataSTVF::InternalReleaseResourcessqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResourcessqllang! CTraceDataSTVF:: {dtor} sqllang! CTraceDataSTVF:: "скалярное удаление destructor'sqlmin! CSTVFInternal::Releasesqlmin! CQueryExecContext:: ~ CQueryExecContextsqlmin! CQueryInstance::ShutdownQueryExecContextsqlmin! CQueryScan::ShutdownQueryExecContextsqlmin! CQueryScan::D estroyQueryOnExceptionsqllang! CXStmtQuery::ShutdownOnExceptionsqllang! CXStmtQuery::FinishOnExceptionImpsqllang! GetInterruptTickssqllang! InterruptTicks<без знака __int64>:: LoadTickssqllang! SOS_Ticks<InterruptTicks<unsigned __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
После нарушения доступа появляется следующее сообщение об ошибке из журнала ошибок SQL Server.
<Date> <Time> SPID<ID> с помощью библиотеки "dbghelp. dll" version "4.0.5" <Date> <IDtime> SPID> <0 ID> * * Dump Thread-SPID = <ID>, EC = 0x0000007F8608E160> <4 Дата> <время> идентификатор spid> <8 ID> <* * создание дампа стека> txt> <4 Дата> <время> SPID> <8 ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Time * * * <даты> <время> SPID> <4 ID> * <Дата> <время> SPID<<Date> <time> SPID<ID> * <Дата> <время> SPID <ID><Date> <>> <8 идентификатор SPID> ID <Дата> <время> идентификатора SPID> <4 идентификатора> * Location: qxcntxt. cpp: 1143> <6> <ID : !" Код "<Dateдата> <время> SPID> <6 ID> * spid: <ID><Date> <время> идентификатор SPID> <4 ID> * идентификатор процесса: 3556> <6 дата> <время> идентификатор spid><0 ID> * <дата> <Timeвремя> SPID><6 id > <spid> <id > * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 > <02 Дата> время > <04 spid > <ID> * ÿÿ> <08 01 00 00 00 FF ff 0c 00 00 00 00 00 26 04 04 05 00 00> Дата 37> <time> SPID> <5 ID> * 00> <7 Дата> <время> SPID> <1 ID> * <Дата> <время> SPID> <7 ID> *... <Date> <time> идентификатор SPID> <3>> <9 ID> [info] Начало записи удостоверения | Ошибка результата, LazyCommit только что подготовленный только для чтения | ThreadId базы данных транзакций | LogSizeRq | не удается записать запись с разделом чтения. CommitDep TotalComm зависимый 0 зависимый 1 зависимый от 2 зависимый 3 зависит от 4 зависимого 5 зависимого 6 | Расположение области |> <41 Date> <Time> SPID> <45 ID> тайм-аута, ожидающий внешний процесс дампа 11800. <дата> <время> SPID> <1 ID> ошибка: 17066, уровень важности: 16, состояние: 1. <Дата> <время> идентификатор SPID> <7 ID> сведения о SQL Server: file: <qxcntxt. cpp> Этот код не должен вызывать исключения. Эта ошибка может быть связана со временем. Если ошибка не исчезнет после повторного выполнения инструкции, используйте DBCC CHECKDB, чтобы проверить базу данных на наличие структурной целостности, или перезапустите сервер, чтобы убедиться в том, что структуры данных в памяти не повреждены.
Решение
Совокупные сведения об обновлениях
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Мы рекомендуем вам загрузить и установить последние накопительные обновления для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".