de ce rulează DBCC CHECKDB?
DBCC CHECKDB verifică integritatea logică și fizică a tuturor obiectelor dintr-o bază de date și oferă informații despre orice corupție.
deoarece efectuarea DBCC CHECKDB este o sarcină exhaustivă a resurselor, este recomandat să o rulați pe un server de producție atunci când există cât mai puțin trafic posibil sau chiar mai bine, deoarece una dintre modalitățile de a accelera procesul DBCC CHECKDB, este transferul lucrării pe un alt server prin automatizarea unui proces și rularea CHECKDB după o restaurare a bazei de date. Ca un proces de backup este o copie a unei baze de date și o bază de date restaurată va fi exact la fel ca o bază de date on-line, prin urmare, dacă au existat neconcordanțe sau probleme vor fi în copie de rezervă, și a găsit într-o restaurare. Prin utilizarea acestei abordări, ambele restaurări vor fi testate și backup-urile verificate fără niciun impact asupra unei baze de date de producție.
rularea DBCC CHECKDB după o restaurare poate fi, de asemenea, o bună practică dacă nu se cunoaște calitatea unei copii de rezervă.
în acest articol, vom descrie cum să automatizeze un DBCC CHECKDB după o bază de date restore prin automatizarea DBCC CHECKDB după o bază de date restore utilizând un SQL Server Agent de locuri de muncă și întreținere planuri.
cum să automatizați DBCC CHECKDB după o restaurare a bazei de date utilizând o lucrare SQL Server Agent
pentru a automatiza DBCC CHECKDB după o restaurare a bazei de date utilizând SQL Server Agent:
- Selectați o nouă lucrare din nodul SQL Server Agent locuri de muncă
-
creați un prim pas și specificați o copie de rezervă a bazei de date:
RESTORE DATABASE AdventureWorks2014CheckDB FROM DISK = 'E:\EncBackup\AdventureWorks2014_Full_20150612_1916.bak' WITH RECOVERYGO
-
adăugați un al doilea pas pentru a efectua DBCC CHECKDB pe o bază de date restaurată adăugând următorul script T-SQL:
DBCC CHECKDB (AdventureWorks2014CheckDB)
pentru a utiliza diferite opțiuni DBCC CHECKDB utilizați următoarele scripturi T-SQL:
pentru a verifica valorile coloanelor și pentru a verifica dacă există valori ale coloanelor care sunt în afara intervalului:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH DATA_PURITY
pentru a supune mesajele informaționale inutile:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH NO_INFOMSGS
pentru a verifica vizualizările indexate, indexurile spațiale și XML:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH EXTENDED_LOGICAL_CHECKS
pentru a verifica doar structura fizică a unei baze de date:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH PHYSICAL_ONLY
pentru a impune blocarea partajată a tabelului:
DBCC CHECKDB (AdventureWorks2014CheckDB) WITH TABLOCK
aceste opțiuni pot fi combinate cu excepția opțiunii cu physical_only care nu poate fi combinată cu unele dintre opțiuni, care vor fi explicate mai târziu în acest articol.
- programați o lucrare la o frecvență dorită de executare.
deși relativ ușor de configurat folosind un loc de muncă SQL Server Agent pentru aceste operațiuni necesită scrierea script-uri T-SQL și o cunoaștere a DBCC CHECKDB Opțiuni de sintaxă, precum și o cunoaștere a fiecărei funcționalități opțiune și posibilitățile de combinare.
cum se automatizează DBCC CHECKDB după o restaurare a bazei de date utilizând planul de întreținere
planurile de întreținere pot fi, de asemenea, utilizate pentru a efectua această acțiune. Deși bara de instrumente planuri de întreținere nu conține o sarcină de restaurare, sarcina T-SQL poate fi utilizată.
pentru a automatiza DBCC CHECKDB după o restaurare a bazei de date utilizând planuri de întreținere:
- din nodul de gestionare din panoul explorator de obiecte, sub planuri de întreținere selectați noul Plan de întreținere
- în noul Plan de întreținere denumiți un nou plan
-
din bara de instrumente taskuri plan de întreținere selectați Executare instrucțiuni T-SQL Task
-
Slick dublu sarcina și lipiți un script T-SQL:
-
adauga verifica integritatea bazei de date activitate din bara de instrumente task plan de întreținere:
-
faceți dublu clic pe o sarcină și selectați o bază de date pentru a rula sarcina împotriva:
-
când este configurat un plan de întreținere programați-l ca o lucrare SQL Server Agent:
dezavantajul acestei abordări pe lângă faptul că este mai complicat de configurat este că în prezent, verificați sarcina de integritate a bazei de date oferă doar indexuri verificați ca opțiune suplimentară și efectuează o verificare completă DBCC CHECKDB.
Mai multe opțiuni vor fi adăugate într-o versiune SQL Server 2016.