Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
msdbjiný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í?