Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Részletek
| Jellemző | Érték |
|---|---|
| Terméknév | SQL Server |
| Eseményazonosító | 823 |
| Eseményforrás | MSSQLSERVER |
| Összetevő | SQLEngine |
| Szimbolikus név | B_HARDERR |
| Üzenet szövege | Az operációs rendszer %ls hibát adott vissza az SQL Servernek a %S_MSG során a %#016I64x eltolásnál az '%ls' fájlban. Az SQL Server hibanaplójában és a rendszeresemény-naplóban található további üzenetek részletesebb információkat nyújthatnak. Ez egy súlyos rendszerszintű hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal ki kell javítani. Teljes adatbáziskonzisztencia-ellenőrzést (DBCC CHECKDB) végezhet. Ezt a hibát számos tényező okozhatja; További információ: SQL Server Books Online. |
Magyarázat
Az SQL Server Windows API-kat (például ReadFile, WriteFile, ReadFileScatter, WriteFileGather) használ a fájl I/O-műveleteinek végrehajtásához. Miután az SQL Server végrehajtja ezeket az I/O-műveleteket, ellenőrzi az API-hívásokhoz társított hibafeltételeket. Ha az API-hívások operációsrendszer-hibával hiúsulnak meg, akkor az SQL Server a 823-at jelenti.
A 823-at tartalmazó hibaüzenet a következő információkat tartalmazza:
- Az az adatbázisfájl, amelyen az I/O-műveletet végrehajtották.
- Annak a fájlnak az eltolása, amelyben az I/O-műveletet megkísérelték. Ez a fájl elejétől számítva a fizikai bájt eltolása. Ha ezt a számot 8192-sel osztja el, a hiba által érintett logikai oldalszámot adja meg.
- Az I/O-művelet írási vagy olvasási kérelem-e.
- Az operációs rendszer hibakódja és hibaleírása zárójelben.
Operációs rendszer hibája: Az olvasási vagy írási Windows API-hívások nem sikeresek, és az SQL Server operációsrendszer-hibába ütközik, amely a Windows API-híváshoz kapcsolódik. Az alábbi üzenet egy 823-ra vonatkozó hibára mutat példát:
Error: 823, Severity: 24, State: 2.
2010-03-06 22:41:19.55 spid58 The operating system returned error 1117 (The request could not be performed because of an I/O device error.) to SQL Server during a read at offset 0x0000002d460000 in file 'e:\program files\Microsoft SQL Server\mssql\data\mydb.MDF'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe, system-level error condition that threatens database integrity and must be corrected immediately. It is recommended to complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
A dbCC CHECKDB utasítás hibái megjelenhetnek a hibaüzenetben a fájlhoz társított adatbázisban. A DBCC CHECKDB utasítást akkor futtathatja, ha 823-at lát. Ha a DBCC CHECKDB utasítás nem jelent hibát, akkor valószínűleg időszakos rendszerhiba vagy lemezhiba lépett fel.
A 823-ra vonatkozó további diagnosztikai információk az SQL Server hibanapló-fájljába írhatók a 818-at jelző nyomkövetési jelző használatakor. További információ: SQL Server-diagnosztika elavult olvasások vagy elveszett írásimiatt nem jelentett I/O-problémákat észlel.
Oka
A 823-ban megjelenő hibaüzenet általában azt jelzi, hogy probléma van a mögöttes tárolórendszerrel, a hardverrel vagy az I/O-kérés elérési útjában lévő illesztőprogrammal. Ez a hiba akkor fordulhat elő, ha a fájlrendszer inkonzisztenciákba ütközik, vagy ha az adatbázisfájl sérült. Fájlolvasás esetén az SQL Server már négyszer próbálkozott újra az olvasási kéréssel, mielőtt visszaadta volna a 823-at. Ha az újrapróbálkozási művelet sikeres, a lekérdezés nem hiúsul meg, de az MSSQLSERVER_825 üzenet be van írva az ERRORLOG és az eseménynaplóba.
Felhasználói művelet
Tekintse át a suspect_pages táblázatot
msdbazoknak a lapoknak az esetében, amelyeknél ez a probléma jelentkezik (ugyanabban az adatbázisban vagy különböző adatbázisokban).Ellenőrizze az ugyanazon a köteten (a 823-as üzenetben jelentett) adatbázisok konzisztenciáját a DBCC CHECKDB paranccsal. Ha inkonzisztenciákat talál a DBCC CHECKDB parancsból, használja a DBCC CHECKB által jelentett adatbáziskonzisztencia-hibák elhárítására vonatkozó útmutatót.
Tekintse át a Windows eseménynaplóit az operációs rendszer, a tárolóeszközök vagy az eszközillesztők által jelentett hibákért vagy üzenetekért. Ha valamilyen módon kapcsolódnak ehhez a hibához, először ezeket a hibákat kell elhárítania. A 823-at tartalmazó üzeneten kívül például egy olyan eseményt is észlelhet, mint a "Az illesztőprogram vezérlőhibát észlelt az eseménynaplóban a lemezforrás által jelentett \Device\Harddisk4\DR4 eszközön". Ebben az esetben ki kell értékelnie, hogy ez a fájl az eszközön van-e, majd ezeket a lemezhibákat kell először elhárítania.
Az SQLIOSim segédprogrammal szimulálhatja az SQL Server-tevékenységet egy lemezalrendszer-segédprogramon, hogy megtudja, a 823-as hibák reprodukálhatók-e a szokásos SQL Server I/O-kéréseken kívül. Az SQLIOSim segédprogram az SQL Server 2008-as és újabb verzióit használja, így nincs szükség külön letöltésre. Általában a mappában
C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binntalálható.A hardvergyártóval vagy az eszköz gyártójával együttműködve győződjön meg arról, hogy
- A hardvereszközök és a konfiguráció megfelel az SQL Server I/O-követelményeinek
- Az I/O elérési úton lévő összes eszköz eszközillesztői és egyéb támogató szoftverösszetevői naprakészek
Ha a hardvergyártó vagy az eszköz gyártója bármilyen diagnosztikai segédprogramot biztosított Önnek, használja őket az I/O-rendszer állapotának kiértékelésére
Értékelje ki, hogy vannak-e olyan szűrőillesztők , amelyek problémákat tapasztalnak ezen I/O-kérések elérési útján.
- Ellenőrizze, hogy vannak-e frissítések a szűrőillesztőkhöz
- Eltávolíthatók vagy letilthatók ezek a szűrőillesztők, ha a 823-at eredményező probléma eltűnik?