Tünetek
A Microsoft SQL Server indításakor az alábbi tünetek közül egy vagy több jelentkezik közvetlenül az adatbázis helyreállítása és az ügyfélkapcsolatok engedélyezése után.
1. jelenség
A következőhöz hasonló hibaüzenetek és állítások jelennek meg az SQL Server hibanaplójában:
Megjegyzés
2014-12-13 08:03:34.85 spid24s A 'dbghelp.dll' '4.0.5' verziójának használata
2014-12-13 08:03:34.85 spid24s **Memóriakép-menet - spid = 0, EC = 0x0000000082274B20
2014-12-13 08:03:34.85 spid24s ***Stack Dump küldése ide: C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0001.txt
2014-12-13 08:03:34.85 spid24s * *******************************************************************************
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:34.85 spid24s * STACK DUMP KEZDETE:
2014-12-13 08:03:34.85 spid24s * 12/13/14 08:03:34 spid 24
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:34.85 spid24s * Elhelyezkedés: ghost.cpp:1742
2014-12-13 08:03:34.85 spid24s * Kifejezés: tcln1 != NULL
2014-12-13 08:03:34.85 spid24s * SPID: 24
2014-12-13 08:03:34.85 spid24s * Folyamatazonosító: 35444
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:35.47 spid24s Hiba: 17066, Súlyosság: 16, Állapot: 1.
2014-12-13 08:03:35.47 spid24s SQL Server Assertion: File: <ghost.cpp>, line=1742 Failed Assertion = 'tcln1 != NULL'. Ez a hiba időzítéssel lehet kapcsolatos. Ha a hiba az utasítás újrafuttatása után sem szűnik meg, a DBCC CHECKDB függvénnyel ellenőrizze az adatbázis szerkezeti integritását, vagy indítsa újra a kiszolgálót, hogy a memóriában tárolt adatstruktúrák ne sérüljenek.
2. jelenség
Az SQL Server hibanaplójában a következőhöz hasonló hibaüzenetek és kivételek jelennek meg:
Megjegyzés
2014-12-13 12:38:30.25 spid51 A 'dbghelp.dll' '4.0.5' verzió használata:
2014-12-13 12:38:30.25 spid51 ***A memóriakép elküldése a C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0003.txt mappába
2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. Az SQL Server leállítja ezt a folyamatot.
2014-12-13 12:38:30.25 spid51 * *******************************************************************************
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 * STACK DUMP KEZDÉSE:
2014-12-13 12:38:30.25 spid51 * 12/13/14 12:38:30 spid 51
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 * Kivételcím = 000000000030D47C Modul(sqlservr+000000000000FD47C)
2014-12-13 12:38:30.25 spid51 * Kivételkód = c0000005 EXCEPTION_ACCESS_VIOLATION
2014-12-13 12:38:30.25 spid51 * Hozzáférés-megsértés történt olvasási cím FFFFFFFFFFFFFF
2014-12-13 12:38:30.25 spid51 * Bemeneti puffer 54 bájt -
2014-12-13 12:38:30.25 spid51 * exec usp_select1
2014-12-13 12:38:30.77 Szerverhiba: 17310, Súlyosság: 20, Állapot: 1.
2014-12-13 12:38:30.77 Server A munkamenet felhasználói kérelme az SPID 51-gyel végzetes kivételt generált. Az SQL Server megszakítja ezt a munkamenetet. Lépjen kapcsolatba a terméktámogatási szolgáltatásokkal a naplókönyvtárban létrehozott memóriaképpel kapcsolatban.
A hozzáférés-megsértés a következő hívásvermet fogja tartalmazni:
sqlservr! TaskGhostCleanup::IsHashed+0x8d
sqlservr! TaskGhostCleanup::Enqueue+0x32
sqlservr! IndexRowScanner::MoveToRowOnNextPage+0x9c
sqlservr! IndexDataSetSession::GetNextRowValuesInternal+0x11cb
3. jelenség
Miután megkapta az előző hibajelenség-szakaszokban említett üzeneteket, a következő üzenetek jelennek meg az SQL Server hibanaplójában:
Megjegyzés
2014-12-13 08:04:53.37 Server Process 0:0:0 (0x23c8) Úgy tűnik, hogy a dolgozó 0x000000002880C1A0 nem ad vissza a 23-as ütemezőn. Hozzászóláslánc létrehozásának ideje: 13062953007877. Használt szál kb. CPU: kernel 0 ms, felhasználó 0 ms. Folyamatkihasználtság: 0%. A rendszer tétlen 88%. Intervallum: 70013 ms.
2014-12-13 08:04:53.37 Server Process 0:0:0 (0x71d8) Úgy tűnik, hogy a feldolgozó 0x000000002A8D21A0 nem ad vissza a 30-as ütemezőn. Hozzászóláslánc létrehozásának ideje: 13062953007891. Használt szál kb. CPU: kernel 0 ms, felhasználó 0 ms. Folyamatkihasználtság: 0%. A rendszer tétlen 88%. Intervallum: 70013 ms.
2014-12-13 08:04:53.38 Server ***Unable to get thread context for spid 0
2014-12-13 08:04:53.38 Szerver * *******************************************************************************
2014-12-13 08:04:53.38 Szerver *
2014-12-13 08:04:53.38 Szerver * VEREMMEMÓRIA KEZDÉSE:
2014-12-13 08:04:53.38 szerver * 12/13/14 08:04:53 spid 29488
2014-12-13 08:04:53.38 Szerver *
2014-12-13 08:04:53.38 Szerver * Nem hozható ütemező
2014-12-13 08:04:53.38 Szerver *
2014-12-13 08:04:53.38 Szerver * *******************************************************************************
2014-12-13 08:04:53.38 Server Stack aláírás a memóriaképhez 0x0000000000000341
2014-12-13 08:04:55.43 Szerver Külső memóriakép folyamat visszatérési kódja 0x20000001. A külső memóriakép folyamata nem adott vissza hibát.
2014-12-13 08:04:55.43 Server Process 0:0:0 (0x9358) Úgy tűnik, hogy a dolgozó 0x0000000081CE41A0 nem ad vissza a 4. ütemezőn. Hozzászóláslánc létrehozásának ideje: 13062953009701. Használt szál kb. CPU: kernel 0 ms, felhasználó 15 ms. Folyamatkihasználtság: 0%. A rendszer tétlen 88%. Intervallum: 70011 ms.
Előfordulhat, hogy az SQL Server egyelőre nem válaszol a felhasználói kérésekre. Ebben az esetben a helyzet javításához újra kell indítania a szolgáltatást.
Ok
A problémát az okozza, hogy a felhasználói lekérdezések a szellemkarbantartási várólistákat próbálták használni a folyamat teljes inicializálása előtt.
Megoldás
Szervizcsomag adatai
A probléma megoldásához szerezze be az 1. szervizcsomagot az SQL Server 2014-hez.
Az SQL Server 2014 Service Pack 1 (SP1) szervizcsomaggal kapcsolatban az SQL Server 2014 Service Pack 1 szervizcsomagban kijavított hibák című témakörben talál további információt.
Gyorsjavítás az SQL Server 2008 SP4-hez
A probléma megoldásához alkalmazza a KB 3034373-t: A SQL Server 2008 SP4 rendszerhez elérhető egy igény szerinti gyorsjavítási csomag.
Gyorsjavítás az SQL Server 2008 R2 SP3-hoz
A probléma megoldásához alkalmazza a KB 3033860: A SQL Server 2008 R2 SP3 rendszerhez elérhető egy igény szerinti gyorsjavítási csomag.
Összegző frissítéssel kapcsolatos információk
A funkciófejlesztést az SQL Server következő összegző frissítésében vezettük be.
6. összegző frissítés a SQL Server 2014-hez /en-us/help/3031047
4. összegző frissítés a SQL Server 2012 SP2 verzióhoz /en-us/help/3007556
14. összegző frissítés a SQL Server 2012 SP1 rendszerhez /en-us/help/3023636
Az SQL Server összegző frissítéseinek ismertetése
Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:
- Az SQL Server 2014 legújabb összegző frissítése
- Az SQL Server 2012 SP2 legújabb összegző frissítése
- Az SQL Server 2012 SP1 legújabb összegző frissítése
Kerülő megoldás
A probléma kerülő megoldásához kövesse az alábbi lépéseket:
- Konfigurálja a -T669-et indítási paraméterként. Ezek a nyomkövetési jelzők megakadályozzák, hogy a felhasználói lekérdezések sorba állítsák a szellemtisztítási folyamatra vonatkozó kéréseket.
- SQL Server Agent riasztás beállítása egy feladat elindításához az SQL Msg 3408-on. Állítsa be például a következő riasztást:
A helyreállítás befejeződött. Ez az üzenet csak tájékoztatásul szolgál. Nincs szükség felhasználói beavatkozásra. - A feladaton belül futtasson egy TSQL-parancsfájlt 5–10 percig, majd futtassa a DBCC TRACEOFF (669,-1) parancsot.
Ez az eljárás gondoskodik arról, hogy a nyomkövetési jelző csak a SQL Server indításakor legyen aktív. Ennek a nyomkövetési jelzőnek a használata nincs hatással a háttérben futó szellemtisztítási folyamat szokásos működésére.
Állapot
A Microsoft megerősítette, hogy a probléma az SQL Server egy hibája, és jelenleg is dolgozik a probléma megoldásán. Ezt a tudásbáziscikket további információkkal frissítjük, amint az elérhetővé válik.
Hivatkozások
A tárolómotor belsejében: A szellemtisztítás részletes ismertetése
Értesítések
sp_add_alert (Transact-SQL)
DBCC TRACEOFF (Transact-SQL)
Jelölők nyomon követése
Az adatbázismotor indítási beállításai