Hur automatiserar du DBCC CHECKDB efter en databasåterställning

varför kör DBCC CHECKDB?

DBCC CHECKDB kontrollerar den logiska och fysiska integriteten hos alla objekt i en databas och ger information om eventuell korruption.

som utför DBCC CHECKDB är en resurs uttömmande uppgift rekommenderas att köra den på en produktionsserver när det finns så mindre trafik som möjligt, eller ännu bättre, som ett av sätten att påskynda DBCC CHECKDB processen, är att överföra arbetet till en annan server genom att automatisera en process och köra CHECKDB efter en databasåterställning. Som en säkerhetskopieringsprocess är en kopia av en databas och en återställd databas kommer att vara exakt samma som en online-databas därför om det fanns några inkonsekvenser eller problem de kommer att vara i säkerhetskopian, och finns i en återställning. Genom att använda detta tillvägagångssätt både åter kommer att testas och säkerhetskopior verifieras utan någon inverkan på en produktionsdatabas.

att köra DBCC CHECKDB efter en återställning kan också vara en bra praxis om en säkerhetskopias kvalitet är okänd.

i den här artikeln kommer vi att beskriva hur man automatiserar en DBCC CHECKDB efter en databasåterställning genom att automatisera DBCC CHECKDB efter en databasåterställning med hjälp av en SQL Server Agent jobb och underhållsplaner.

så här automatiserar du DBCC CHECKDB efter en databasåterställning med hjälp av ett SQL Server Agent-jobb

för att automatisera DBCC CHECKDB efter en databasåterställning med SQL Server Agent:

  1. Välj ett nytt jobb från SQL Server Agent-noden:
    RESTORE DATABASE AdventureWorks2014CheckDB FROM DISK = 'E:\EncBackup\AdventureWorks2014_Full_20150612_1916.bak' WITH RECOVERYGO

  2. Lägg till ett andra steg för att utföra DBCC CHECKDB på en återställd databas genom att lägga till följande T-SQL-skript:

    DBCC CHECKDB (AdventureWorks2014CheckDB)

    för att använda olika DBCC CHECKDB-alternativ använd följande T-SQL-skript:

    för att kontrollera kolumnvärden och för att kontrollera finns det kolumnvärden som ligger utanför intervallet:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH DATA_PURITY

    för att dämpa onödiga informationsmeddelanden:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH NO_INFOMSGS

    för att kontrollera indexerade vyer, rumsliga och XML-index:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH EXTENDED_LOGICAL_CHECKS

    för att bara kontrollera den fysiska strukturen i en databas:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH PHYSICAL_ONLY

    för att genomdriva tabelldelad låsning:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH TABLOCK

    dessa alternativ kan kombineras förutom med physical_only-alternativet som inte kan kombineras med några av alternativen, vilket kommer att förklaras senare i den här artikeln.

  3. Schemalägg ett jobb till önskad exekveringsfrekvens.

även om det är relativt enkelt att ställa in med ett SQL Server Agent-jobb för dessa operationer kräver att du skriver T-SQL-skript och kunskap om DBCC CHECKDB-alternativsyntax samt kunskap om varje alternativfunktionalitet och möjligheter att kombinera.

hur man automatiserar DBCC CHECKDB efter en databasåterställning med hjälp av underhållsplan

underhållsplaner kan också användas för att utföra denna åtgärd. Även om verktygsfältet underhållsplaner inte innehåller en återställningsaktivitet kan T-SQL-aktiviteten användas.

för att automatisera DBCC CHECKDB efter en databasåterställning med hjälp av underhållsplaner:

  1. från hanteringsnoden i Object Explorer-fönstret, under underhållsplaner välj den nya underhållsplanen
  2. i den nya underhållsplanen namnge en ny plan
  3. i verktygsfältet Underhållsplanuppgifter välj Kör T-SQL-sats uppgift

  4. dubbelklicka uppgiften och klistra in ett T-SQL-skript:

  5. Lägg till kontrolldatabasintegritetsuppgift från verktygsfältet underhållsplanuppgifter:

  6. dubbelklicka på en uppgift och välj en databas för att köra uppgiften mot:

  7. När en underhållsplan är inställd schemalägg den som ett SQL Server Agent-jobb:

nackdelen med detta tillvägagångssätt förutom att det är mer komplicerat att konfigurera är att Check database integrity task för närvarande endast erbjuder indexkontroll som ett extra alternativ och utför en fullständig DBCC CHECKDB-kontroll.

fler alternativ läggs till i en SQL Server 2016-version.

Lämna ett svar

Din e-postadress kommer inte publiceras.