Sdílet prostřednictvím


Chyba MSSQLSERVER 823

platí pro:SQL Server

Podrobnosti

Vlastnost Hodnota
Název produktu SQL Server
ID události 823
Zdroj událostí MSSQLSERVER
Součást SQLEngine
Symbolický název B_HARDERR
Text zprávy Operační systém vrátil chybu %ls SQL Serveru během %S_MSG posunu %#016I64x v souboru%ls. Další zprávy v protokolu chyb SQL Serveru a protokolu událostí systému můžou obsahovat podrobnější informace. Jedná se o závažný chybový stav na úrovni systému, který ohrožuje integritu databáze a musí být okamžitě opraven. Proveďte úplnou kontrolu konzistence databáze (DBCC CHECKDB). Tato chyba může být způsobena mnoha faktory; Další informace naleznete v tématu SQL Server Books Online.

Vysvětlení

SQL Server používá rozhraní API systému Windows (například ReadFile, WriteFile, ReadFileScatter, WriteFileGather) k provádění vstupně-výstupních operací se soubory. Jakmile SQL Server provede tyto vstupně-výstupní operace, zkontroluje všechny chybové podmínky přidružené k těmto voláním rozhraní API. Pokud volání rozhraní API selže s chybou operačního systému, sql Server hlásí chybu 823.

Chybová zpráva 823 obsahuje následující informace:

  • Soubor databáze, proti kterému byla provedena vstupně-výstupní operace.
  • Posun v souboru, ve kterém došlo k pokusu o vstupně-výstupní operaci. Jedná se o posun fyzického bajtu od začátku souboru. Když toto číslo vydělíte číslem 8 192, získáte logické číslo stránky, které je ovlivněno chybou.
  • Bez ohledu na to, jestli je vstupně-výstupní operace požadavek na čtení nebo zápis.
  • Kód chyby operačního systému a popis chyby v závorkách.

Chyba operačního systému: Volání rozhraní API systému Windows pro čtení nebo zápis není úspěšné a SQL Server narazí na chybu operačního systému, která souvisí s voláním rozhraní API systému Windows. Následující zpráva je příkladem chyby 823:

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.

Může se zobrazit chyby z příkazu DBCC CHECKDB v databázi, která je přidružena k souboru v chybové zprávě. Příkaz DBCC CHECKDB můžete spustit, když se zobrazí chyba 823. Pokud příkaz DBCC CHECKDB neohlásí žádné chyby, pravděpodobně máte občasný systémový problém nebo problém s diskem.

Další diagnostické informace pro chyby 823 mohou být zapsány do souboru protokolu chyb SQL Serveru při použití příznaku trasování 818. Další informace naleznete v tématu Diagnostika SQL Serveru detekuje nesestavované vstupně-výstupní problémy způsobené zastaralými čteními nebo ztracenými zápisy.

Příčina

Chybová zpráva 823 obvykle značí, že došlo k problému se základním systémem úložiště nebo hardwarem nebo ovladačem, který je v cestě k V/V požadavku. K této chybě může dojít v případě nekonzistence v systému souborů nebo v případě poškození souboru databáze. Pro čtení souboru SQL Server již čtyřikrát znovu zkoušel požadavek na čtení, než vrátí 823. Pokud bude operace opakování úspěšná, dotaz se nezdaří, ale zpráva MSSQLSERVER_825 se zapíše do PROTOKOLU CHYB a protokolu událostí.

Akce uživatele

  • Projděte si tabulku suspect_pages na msdb jiných stránkách, u které dochází k tomuto problému (ve stejné databázi nebo v různých databázích).

  • Pomocí příkazu DBCC CHECKDB zkontrolujte konzistenci databází umístěných na stejném svazku (jako databáze hlášená ve zprávě 823). Pokud zjistíte nekonzistence z příkazu DBCC CHECKDB, použijte pokyny k řešení chyb konzistence databáze hlášených dbCC CHECKB.

  • V protokolech událostí Windows si projděte případné chyby nebo zprávy hlášené operačním systémem, zařízením úložiště nebo ovladačem zařízení. Pokud s touto chybou souvisí nějakým způsobem, nejprve tyto chyby vyřešte. Kromě zprávy 823 si můžete také všimnout události typu "Ovladač zjistil chybu kontroleru na \Device\Harddisk4\DR4" hlášené zdrojem disku v protokolu událostí. V takovém případě je potřeba vyhodnotit, jestli se tento soubor nachází na tomto zařízení, a nejprve opravit tyto chyby disku.

  • Pomocí nástroje Use the SQLIOSim simulujte aktivitu SQL Serveru v nástroji disk subsystému , abyste zjistili, jestli tyto chyby 823 lze reprodukovat mimo běžné vstupně-výstupní požadavky SQL Serveru. Nástroj SQLIOSim se dodává s SQL Serverem 2008 a novějšími verzemi, takže není nutné samostatné stahování. Obvykle ho najdete ve složce C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binn .

  • Spolupracujte s dodavatelem hardwaru nebo výrobcem zařízení a ujistěte se, že

    • Hardwarová zařízení a konfigurace odpovídají požadavkům na vstupně-výstupní operace SQL Serveru.
    • Ovladače zařízení a další podpůrné softwarové komponenty všech zařízení v cestě vstupně-výstupních operací jsou aktuální.
  • Pokud vám dodavatel hardwaru nebo výrobce zařízení poskytl diagnostické nástroje, použijte ho k vyhodnocení stavu vstupně-výstupního systému.

  • Vyhodnoťte, jestli existují ovladače filtru v cestě těchto vstupně-výstupních požadavků, u kterých dochází k problémům.

    • Zkontrolujte, jestli nejsou k dispozici aktualizace těchto ovladačů filtrů.
    • Dají se tyto ovladače filtru odebrat nebo zakázat, abyste mohli zjistit, jestli problém, který vede k chybě 823, zmizí?