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
| Attribute | Value |
|---|---|
| Název produktu | SQL Server |
| ID události | 605 |
| Zdroj události | MSSQLSERVER |
| Součást | SQLEngine |
| Symbolický název | CHYBNÁ STRÁNKA |
| Text zprávy | Pokus o načtení logické stránky %S_PGID v databázi %d selhal. Patří do alokační jednotky %I64d, nikoli do %I64d. |
Explanation
Tato chyba obvykle znamená poškození stránky nebo alokace v dané databázi. SQL Server detekuje poškození při čtení stránek patřících do tabulky, buď sledováním odkazů na stránky, nebo použitím Index Allocation Map (IAM). Všechny stránky přiřazené k tabulce musí patřit jedné z alokačních jednotek přiřazených k tabulce. Pokud ID alokační jednotky obsažené v hlavičce stránky neodpovídá ID alokační jednotky přiřazené k tabulce, tato výjimka se vyhodí. První ID alokační jednotky uvedené v chybové zprávě je ID přítomné v záhlaví stránky a druhá hodnota alokační jednotky je ID spojené s tabulkou.
Chyby poškození dat
Závažnost 21 naznačuje možné poškození dat. Možné příčiny jsou poškozený řetězec stránek, poškozený IAM nebo neplatný záznam v katalogu sys.objects pro daný objekt. Tyto chyby jsou často způsobeny selháním hardwaru nebo ovladače diskového zařízení.
Přechodné chyby
Úroveň závažnosti 12 naznačuje možnou přechodnou chybu; to znamená, že se vyskytuje v cache a neznamená poškození dat na disku. Přechodné chyby 605 mohou být způsobeny následujícími podmínkami:
Operační systém předčasně oznámí SQL Server, že operace I/O byla dokončena; chybová zpráva se zobrazí, i když neexistuje žádné skutečné poškození dat.
Spuštění dotazu pomocí hint Optimizeru NOLOCK nebo nastavení úrovně izolace transakce na READ UNCOMMITTED. Když dotaz používající úroveň izolace transakce NOLOCK nebo READ UNCOMMITTED pokusí přečíst data, která jsou přesouvána nebo měněna jiným uživatelem, dojde k chybě 605. Pro ověření, že jde o přechodnou chybu 605, spusťte dotaz později.
Obecně, pokud chyba nastane při přístupu k datům, ale následné operace DBCC CHECKDB proběhnou bez chyby, chyba 605 byla pravděpodobně přechodná.
Uživatelská akce
Pokud chyba 605 není přechodná, problém je závažný a musí být opraven vykonáním následujících úkolů:
Identifikujte tabulky spojené s alokačními jednotkami uvedenými ve zprávě spuštěním následujícího dotazu. Nahraďte
allocation_unit_idalokačními jednotkami uvedenými v chybové zprávě.USE [database_name]; GO SELECT au.allocation_unit_id, OBJECT_NAME(p.object_id) AS table_name, fg.name AS filegroup_name, au.type_desc AS allocation_type, au.data_pages, partition_number FROM sys.allocation_units AS au JOIN sys.partitions AS p ON au.container_id = p.partition_id JOIN sys.filegroups AS fg ON fg.data_space_id = au.data_space_id WHERE au.allocation_unit_id = '<allocation_unit_id>' OR au.allocation_unit_id = '<allocation_unit_id>' ORDER BY au.allocation_unit_id; GOSpusť DBCC CHECKTABLE bez klauzule REPAIR v tabulce spojené s druhým identifikátorem alokační jednotky uvedeným v chybové zprávě.
Spususťte DBCC CHECKDB bez klauzule REPAIR co nejdříve, abyste zjistili plný rozsah poškození celé databáze.
Zkontrolujte chybový log, zda se neobjeví další chyby, které často doprovázejí chybu 605, a prohlédněte si Windows Event Log, zda nemáte nějaké systémové nebo hardwarové problémy. Opravte jakékoliv hardwarové problémy, které jsou obsaženy v logech.
Pokud problém není hardwarový, proveďte jeden z následujících úkolů:
Obnovte databázi z známé čisté zálohy. Funkci obnovy stránek můžete využít k obnovení pouze poškozených stránek.
Spusť DBCC CHECKDB s klauzulí REPAIR doporučenou operací DBCC CHECKDB provedenou v kroku 3 k opravě poškození. Pokud spuštění DBCC CHECKDB s jednou z klauzul REPAIR problém nevyřeší, kontaktujte svého primárního poskytovatele podpory. Mějte výstup z DBCC CHECKDB k dispozici k nahlédnutí.
Caution
Pokud si nejste jisti, jaký dopad má DBCC CHECKDB s klauzulí REPAIR na vaše data, kontaktujte svého primárního poskytovatele podpory před spuštěním tohoto prohlášení.