Belirtiler
Microsoft SQL ServerSQL Server 2012 veya SQL ServerSQL Server 2014 kullandığınızı varsayalım. SQL Server'da bir kilitlenme oluştuğunda, kilitlenme izleyicisinin neden olduğu aşağıdaki erişim ihlalini alırsınız:
Not
SQLDK! CSlotGroup::P shRelease
SQLDK! CSlotPageMgr::Release
sqllang!commondelete
SQLLANG!DELETE[]
SQLLANG! CTraceDataSTVF::InternalReleaseResources
SQLLANG! TTableBase<CTraceDataSTVFInfo>::ReleaseResources
SQLLANG! CTraceDataSTVF::{dtor}
SQLLANG! CTraceDataSTVF::'skaler silme yıkıcısı'
sqlmin! CSTVFInternal::Release
sqlmin! CQueryExecContext::~CQueryExecContext
sqlmin! CQueryInstance::ShutdownQueryExecContext
sqlmin! CQueryScan::ShutdownQueryExecContext
sqlmin! CQueryScan::D estroyQueryOnException
SQLLANG! CXStmtQuery::ShutdownOnException
SQLLANG! CXStmtQuery::FinishOnExceptionImp
SQLLANG! GetInterruptTicks
SQLLANG! InterruptTicks<unsigned __int64>::LoadTicks
SQLLANG! <SOS_Ticks InterruptTicks<unsigned __int64>,-3>::LoadTicks
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>
SQLLANG! CMsqlExecContext::FExecute
SQLLANG! CSQLSource::Execute
SQLLANG! ExecuteSql
SQLLANG! CSpecProc::ExecuteSpecial
SQLLANG! CSpecProc::Execute
SQLLANG!process_request
SQLLANG!process_commands
SQLDK! SOS_Task::P aram::Execute
SQLDK! SOS_Scheduler::RunTask
SQLDK! SOS_Scheduler::P rocessTasks
SQLDK! SchedulerManager::WorkerEntryPoint
SQLDK! SystemThread::RunWorker
SQLDK! SystemThreadDispatcher::P rocessWorker
SQLDK! SchedulerManager::ThreadEntryPoint
çekirdek32! BaseThreadInitThunk
ntdll! RtlUserThreadStart
Erişim ihlalinden sonra, SQL Server SQL Server hata günlüğünden aşağıdaki hata iletisini alırsınız:
Not
<
Tarih><Zaman> spid<kimliği> 'dbghelp.dll' sürümü '4.0.5' kullanılarak
<
Tarih><Zaman> spid<kimliği> **Dump thread - spid = <ID>, EC = 0x0000007F8608E160
<
Tarih><Zaman> spid<kimliği> ***Dosya Yolu\<Döküm Dosya> Adı.txt'ne < gönderilen Yığın Dökümü>
<
Tarih><Zaman> spid<kimliği> * *******************************************************************************
<
Tarih><Zaman> spid<kimliği> *
<
Tarih><Zaman> spid<kimliği> * yiğin dökümünü başlatin:
<
Tarih><Zaman> spid<kimliği> * <Tarih><Saat> spid <kimliği>
<
Tarih><Zaman> spid<kimliği> *
<
Tarih><Zaman> spid<kimliği> * Konum: qxcntxt.cpp:1143
<
Tarih><Zaman> spid<kimliği> * İfade: !" Bu kodla hiçbir istisna getirilmemelidir"
<
Tarih><Zaman> spid<Kimliği> * SPID: <Kimlik>
<
Tarih><Zaman> spid<Kimliği> * İşlem Kimliği: 3556
<
Tarih><Zaman> spid<kimliği> *
<
Tarih><Zaman> spid<Kimliği> * Giriş Arabelleği 37 bayt -
<
Tarih><Zaman> spid<kimliği> * 16 00 00 00 12 00 00 00 00 02 00 00 00 00 00 00 00 00 00
<
Tarih><Zaman> spid<kimliği> * ÿÿ & 01 00 00 00 ff ff 0c 00 00 00 00 00 26 04 04 05 00 00
<
Tarih><Zaman> spid<kimliği> * 00
<
Tarih><Zaman> spid<kimliği> *
<
Tarih><Zaman> spid<kimliği> *
...
<
Tarih><Zaman> Döküm için spid<Kimliği> Yığın İmzası 0x000000014202549F
<
Tarih><Zaman> spid<Kimliği> [INFO] Kimlik Başlangıç Bitiş | Durum Sonuç Hatası Spekülasyonu Hazırlanan LazyCommit ReadOnly | İşlem Veritabanı ThreadId | ReadSet, WriteSet, ScanSet, Savepoint, LogSizeRq | CommitDep TotalComm Bağımlı 0 Bağımlı 1 Bağımlı 2 Bağımlı 3 Bağımlı 4 Bağımlı 5 Bağımlı 6 Bağımlı 7 | Bölge Konumu |
<
Tarih><Zaman> spid<Kimliği> Harici döküm işlemi 11800 için bekleyen zaman aşımı.
<
Tarih><Zaman> spid<Kimliği> Hatası: 17066, Önem Derecesi: 16, Durum: 1.
<
Tarih><Zaman> spid<ID> SQL Server Onaylama: Dosya: <qxcntxt.cpp>, satır=1143 Başarısız Onaylama = '!" Bu kodla hiçbir istisna getirilmemelidir". Bu hata zamanlamayla ilgili olabilir. İfade yeniden çalıştırıldıktan sonra hata devam ederse, veritabanında yapısal bütünlük olup olmadığını denetlemek için DBCC CHECKDB kullanın veya bellek içi veri yapılarının bozulmadığından emin olmak için sunucuyu yeniden başlatın.
Çözüm
Toplu Güncelleştirme bilgileri
Sorun ilk olarak aşağıdaki toplu SQL Server güncelleştirmesinde düzeltilmiştir.
- SQL Server 2014 SP1 için Toplu Güncelleştirme 1
- Cumulative Update 7 for SQL ServerSQL Server 2014
- Cumulative Update 5 for SQL ServerSQL Server 2012 SP2
Öneri: SQL Server için en son toplu güncelleştirmeyi yükleyin
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmeleri indirip yüklemenizi öneririz:
- SQL Server 2014 SP1 için en son toplu güncelleştirme
- SQL Server 2014 için en son toplu güncelleştirme
- SQL Server 2012 SP2 için en son toplu güncelleştirme
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.