Správa tabulky suspect_pages (SQL Server)
platí pro:SQL Server
Toto téma popisuje, jak spravovat tabulku suspect_pages v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Tabulka suspect_pages slouží k udržování informací o podezřelých stránkách a je relevantní při rozhodování, zda je nutné provést obnovení. Tabulka suspect_pages se nachází v databázi msdb.
Stránka se považuje za podezřelou, když databázový stroj SQL Serveru narazí na jednu z následujících chyb při pokusu o načtení datové stránky:
Chyba 823 způsobená cyklickou kontrolou redundance (CRC) vydaným operačním systémem, například chybou disku (určité chyby hardwaru)
Chyba 824, například stránka s roztrženou stránkou (libovolná logická chyba)
ID stránky každé podezřelé stránky je zaznamenáno v suspect_pages tabulce. Databázový stroj zaznamenává všechny podezřelé stránky, ke kterým došlo během pravidelného zpracování, například:
Dotaz musí přečíst stránku.
Během operace DBCC CHECKDB.
Během operace zálohování.
Tabulka suspect_pages se také aktualizuje podle potřeby během operace obnovení, operace opravy DBCC nebo operace vyřazení databáze.
v tomto tématu
Než začnete:
Správa tabulky suspect_pages pomocí:
Než začnete
Doporučení
chyby zaznamenané v tabulky suspect_pages
Tabulka suspect_pages obsahuje jeden řádek pro každou stránku, která selhala s chybou 824, až do limitu 1 000 řádků. Následující tabulka uvádí chyby protokolované ve sloupci event_type v tabulce suspect_pages.
Popis chyby událost_typ hodnota Chyba 823 způsobená chybou CRC operačního systému nebo jinou chybou 824 než chybným kontrolním součtem nebo stránkou roztrženou (například chybným ID stránky) 1 Chybný kontrolní součet 2 Roztržená stránka 3 Obnoveno (stránka byla obnovena poté, co byla označena jako chybná) 4 Opraveno (DBCC opravila stránku) 5 Uvolněno pomocí DBCC 7 Tabulka suspect_pages také zaznamenává přechodné chyby. Mezi zdroje přechodných chyb patří vstupně-výstupní chyba (například odpojení kabelu) nebo stránka, která dočasně selže při opakovaném testu kontrolního součtu.
, jak databázový stroj aktualizuje tabulky suspect_pages
Databázový stroj provede v tabulce suspect_pages následující akce:
Pokud tabulka není úplná, aktualizuje se pro každou chybu 824, aby indikovala, že došlo k chybě a čítač chyby se zvýší. Pokud má stránka chybu po opravě, obnovení nebo uvolnění, zvýší se její počet number_of_errors a aktualizuje se její last_update sloupec.
Jakmile je uvedená stránka opravena operací obnovení nebo opravy, operace aktualizuje suspect_pages řádek tak, aby značil, že je stránka opravena (event_type = 5) nebo obnovena (event_type = 4).
Pokud je kontrola DBCC spuštěná, označí všechny stránky bez chyb jako opravené (event_type = 5) nebo uvolněné (event_type = 7).
Automatické aktualizace tabulky suspect_pages
Partner pro zrcadlení databáze nebo replika dostupnosti AlwaysOn aktualizuje tabulku suspect_pages po pokusu o načtení stránky z datového souboru z některého z následujících důvodů.
Chyba 823 způsobená chybou CRC operačního systému.
Chyba 824 (logické poškození, například roztržená stránka).
Následující akce také řádky v tabulce suspect_pages automaticky aktualizují.
DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS aktualizuje tabulku suspect_pages tak, aby označila každou stránku, kterou uvolnila nebo opravila.
Obnova (RESTORE) jako úplná, souborová nebo stránková označí položky stránky jako obnovené.
Následující akce automaticky odstraní řádky z tabulky suspect_pages.
ALTER DATABASE ODEBRAT SOUBOR (příkaz k odstranění souboru z databáze)
DROP DATABASE
role údržby správce databáze
Správci databází zodpovídají za správu tabulky, a to především odstraněním starých řádků. Tabulka suspect_pages je omezená svou velikostí, a pokud se zaplní, nebudou zaznamenány nové chyby. Aby se tato tabulka nezaplnila, musí správce databáze nebo správce systému vymazat staré položky z této tabulky ručně odstraněním řádků. Proto doporučujeme pravidelně odstraňovat nebo archivovat řádky, které mají event_type jako obnovené nebo opravené, nebo řádky, které mají starou hodnotu last_update.
Pokud chcete monitorovat aktivitu v tabulce suspect_pages, můžete použít třídu událostí Databáze podezřelé datové stránky. Řádky se někdy přidávají do tabulky suspect_pages kvůli přechodným chybám. Pokud se do tabulky přidává mnoho řádků, pravděpodobně ale existuje problém s subsystémem vstupně-výstupní operace. Pokud si všimnete náhlého zvýšení počtu řádků přidaných do tabulky, doporučujeme prozkoumat možné problémy ve vašem vstupně-výstupním subsystému.
Správce databáze může také vkládat nebo aktualizovat záznamy. Například aktualizace řádku může být užitečná, když správce databáze ví, že konkrétní podezřelá stránka je ve skutečnosti nedotčená, ale chce záznam nějakou dobu zachovat.
Bezpečnost
Dovolení
Každý, kdo má přístup k msdb může číst data v tabulce suspect_pages. Každý s oprávněním UPDATE v tabulce suspect_pages může aktualizovat své záznamy. Členové pevné role databáze db_owner na msdb nebo pevné role serveru sysadmin mohou vkládat, aktualizovat a odstraňovat záznamy.
Použití aplikace SQL Server Management Studio
Jak spravovat tabulku suspect_pages
V Průzkumník objektůse připojte k instanci databázového stroje SQL Server, rozbalte tuto instanci a poté rozbalte Databáze.
Rozbalte systémové databáze, rozbalte msdb, rozbalte Tabulkya poté rozbalte systémové tabulky.
Rozbalte dbo.suspect_pages a klikněte pravým tlačítkem na Upravit prvních 200 řádků.
V okně dotazu upravte, aktualizujte nebo odstraňte požadované řádky.
Použití Transact-SQL
Jak spravovat tabulku suspect_pages
Připojte se k databázovému stroji.
Na panelu Standard klikněte na Nový dotaz.
Zkopírujte a vložte následující příklady do okna dotazu a klikněte na Spustit. Tento příklad odstraní některé řádky z tabulky
suspect_pages
.
-- Delete restored, repaired, or deallocated pages.
DELETE FROM msdb..suspect_pages
WHERE (event_type = 4 OR event_type = 5 OR event_type = 7);
GO
Tento příklad vrátí chybné stránky v tabulce suspect_pages
.
-- Select nonspecific 824, bad checksum, and torn page errors.
SELECT * FROM msdb..suspect_pages
WHERE (event_type = 1 OR event_type = 2 OR event_type = 3);
GO
Viz také
DROP DATABASE (Transact-SQL)
RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
DBCC (Transact-SQL)
Obnovit Stránky (SQL Server)
suspect_pages (Transact-SQL)