Hoe DBCC CHECKDB te automatiseren na het herstellen van een database

waarom DBCC CHECKDB uitvoeren?

DBCC CHECKDB controleert de logische en fysieke integriteit van alle objecten in een database en geeft informatie over eventuele corruptie.

omdat het uitvoeren van DBCC CHECKDB een resource exhaustieve taak is, wordt aanbevolen om het op een productieserver uit te voeren als er zo weinig mogelijk verkeer is, of zelfs beter, omdat een van de manieren om het DBCC CHECKDB-proces te versnellen, is om het werk naar een andere server over te brengen door een proces te automatiseren en CHECKDB uit te voeren na het herstellen van een database. Als een back-up proces is een kopie van een database en een herstelde database zal precies hetzelfde zijn als een online database dus als er inconsistenties of problemen zullen ze in de back-up, en Gevonden in een restore. Door deze aanpak worden zowel herstelt als back-ups getest zonder enige impact op een productiedatabase.

het uitvoeren van DBCC CHECKDB na een herstel kan ook een goede praktijk zijn als de kwaliteit van een back-up onbekend is.

in dit artikel zullen we beschrijven hoe een DBCC CHECKDB te automatiseren na het herstellen van een database door het automatiseren van DBCC CHECKDB na het herstellen van een database met behulp van een SQL Server Agent taak en onderhoud plannen.

hoe DBCC CHECKDB te automatiseren na het herstellen van een database met behulp van een SQL Server-Agent taak

om DBCC CHECKDB te automatiseren na het herstellen van een database met behulp van SQL Server-Agent:

  1. selecteer een nieuwe taak uit het knooppunt SQL Server-Agent ➜ taken
  2. Maak een eerste stap en geef een databaseback-up op om te herstellen met behulp van het volgende script:

    RESTORE DATABASE AdventureWorks2014CheckDB FROM DISK = 'E:\EncBackup\AdventureWorks2014_Full_20150612_1916.bak' WITH RECOVERYGO

  3. het Toevoegen van een tweede stap voor het uitvoeren DBCC CHECKDB op een herstelde database door het toevoegen van de volgende T-SQL-script:

    DBCC CHECKDB (AdventureWorks2014CheckDB)

    Voor het gebruik van verschillende DBCC CHECKDB opties gebruik de volgende T-SQL-scripts:

    om Te controleren kolom waarden en te controleren zijn er de kolom waarden die buiten het bereik:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH DATA_PURITY

    Te bedwingen onnodige informatieve berichten:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH NO_INFOMSGS

    om Te controleren geïndexeerde weergaven, ruimtelijke-en XML-indexen:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH EXTENDED_LOGICAL_CHECKS

    Om alleen de fysieke structuur van een database:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH PHYSICAL_ONLY

    af Te dwingen tabel-gedeelde vergrendeling:

    DBCC CHECKDB (AdventureWorks2014CheckDB) WITH TABLOCK

    Deze opties kunnen worden gecombineerd met uitzondering van de MET de optie PHYSICAL_ONLY die niet kunnen worden gecombineerd met een aantal van de opties, die worden later in dit artikel.

  4. plan een taak op een gewenste uitvoerfrequentie.

hoewel relatief eenvoudig op te zetten met behulp van een SQL Server Agent taak voor deze operaties vereist het schrijven van T-SQL scripts en een kennis van DBCC CHECKDB opties syntaxis, evenals een kennis van elke optie functionaliteit en mogelijkheden van combineren.

hoe DBCC CHECKDB te automatiseren na het herstellen van een database met behulp van onderhoudsplan

onderhoudsplannen kunnen ook worden gebruikt om deze actie uit te voeren. Hoewel de werkbalk onderhoudsplannen geen hersteltaak bevat, kan de T-SQL-taak worden gebruikt.

om DBCC CHECKDB te automatiseren na het herstellen van een database met behulp van onderhoudsplannen:

  1. van het knooppunt beheer in het deelvenster Objectverkenner, selecteer onder onderhoudsplannen het nieuwe onderhoudsplan
  2. in de naam Nieuw onderhoudsplan een nieuw plan
  3. in de werkbalk onderhoudsplan taken selecteer Uitvoeren T-SQL Statement Task

  4. dubbel glad de taak en plak een T-SQL script:

  5. voeg controle database integriteit taak uit de onderhoudsplan taken werkbalk:

  6. Dubbelklik op een taak en selecteer een database om de taak uit te voeren tegen:

  7. wanneer een onderhoudsplan is ingesteld plan het als een SQL Server Agent taak:

het nadeel van deze aanpak is dat op dit moment, check database integrity task biedt alleen indexen check als een extra optie en voert een volledige DBCC CHECKDB check.

Meer opties zullen worden toegevoegd in een SQL Server 2016 Versie.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.