proč běží DBCC CHECKDB?
DBCC CHECKDB kontroluje logickou a fyzickou integritu všech objektů v databázi a poskytuje informace o případném poškození.
provádění DBCC CHECKDB je zdroj vyčerpávající úkol je doporučeno spustit na produkčním serveru, když tam je menší provoz, jak je to možné, nebo ještě lépe, jako jeden ze způsobů, jak urychlit DBCC CHECKDB proces, je přenést práci na jiném serveru o automatizaci procesu, a spusťte CHECKDB po obnovení databáze. Jako záložní proces je kopii databáze, obnovit databázi, bude přesně stejný jako on-line databáze, proto, pokud tam byly nějaké nesrovnalosti nebo problémy, budou v záloze, a našel v obnovení. Pomocí tohoto přístupu budou testovány jak obnovení, tak ověření záloh bez jakéhokoli dopadu na výrobní databázi.
spuštění DBCC CHECKDB po obnovení může být také dobrým postupem, pokud kvalita zálohy není známa.
v tomto článku popíšeme, jak automatizovat DBCC CHECKDB po obnovení databáze automatizací DBCC CHECKDB po obnovení databáze pomocí SQL Server Agent job a plány údržby.
Jak automatizovat DBCC CHECKDB po obnovení databáze pomocí SQL Server Agent úlohy
automatizovat DBCC CHECKDB po obnovení databáze pomocí SQL Server Agent:
- Vyberte si Novou Práci z SQL Server Agent uzlu ➜ pracovní Místa
-
Vytvořit první krok a zadejte zálohování databáze k obnovení pomocí následujícího skriptu:
RESTORE DATABASE AdventureWorks2014CheckDB FROM DISK = 'E:\EncBackup\AdventureWorks2014_Full_20150612_1916.bak' WITH RECOVERYGO
-
Přidat druhý krok provést DBCC CHECKDB na obnovené databáze přidáním následující T-SQL skript:
DBCC CHECKDB (AdventureWorks2014CheckDB)
používat různé DBCC CHECKDB možnosti použít následující T-SQL skripty:
zkontrolovat hodnoty sloupce a zkontrolujte, zda jsou hodnoty sloupců, které jsou mimo rozsah:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH DATA_PURITY
potlačit zbytečné informační zprávy:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH NO_INFOMSGS
zkontrolujte, indexovaných zobrazení, prostorové a XML indexy:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH EXTENDED_LOGICAL_CHECKS
ověřit pouze fyzická struktura databáze:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH PHYSICAL_ONLY
prosadit tabulka-sdílené uzamčení:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH TABLOCK
Tyto možnosti mohou být kombinovány s výjimkou S PHYSICAL_ONLY, které nemohou být v kombinaci s některými z možností, které bude vysvětleno později v tomto článku.
- Naplánujte úlohu na požadovanou frekvenci provádění.
i když relativně snadno nastavit pomocí SQL Server Agent úloha pro tyto operace vyžaduje psaní T-SQL skripty a znalosti z DBCC CHECKDB možnosti syntaxe, stejně jako poznání každého volba funkce a možnosti kombinování.
jak automatizovat DBCC CHECKDB po obnovení databáze pomocí plánu údržby
plány údržby lze také použít k provedení této akce. Ačkoli panel nástrojů plánů údržby neobsahuje úlohu obnovení, lze použít úlohu T-SQL.
automatizovat DBCC CHECKDB po obnovení databáze pomocí Plánů Údržby:
- Od Řídícího uzlu v Průzkumník Objektů podokně podle Plánů Údržby vyberte Nový Plán Údržby
- V Novém Plánu Údržby název nový plán
-
Z Plánu Údržby Úkolů, panelu nástrojů zvolte možnost Spustit T-SQL Úkol
-
Double slick úkol a vložit T-SQL skript:
-
Přidat Kontrolu Integrity Databáze Úkolů z Plánu Údržby Úkoly nástrojů:
-
Dvojitě klikněte na úkol a vyberte databázi, spustit úlohu, proti:
-
Když je plán údržby nastavit plán jako úloha Agent serveru SQL Server:
nevýhodou tohoto přístupu kromě toho, že složitější nastavení je, že v současné době, Zkontrolujte Integritu Databáze Úloh nabízí pouze indexy podívejte se jako další možnost a provádí celou DBCC CHECKDB zkontrolujte.
Další možnosti budou přidány ve verzi SQL Server 2016.