Pored stvaranja sigurnosnih kopija, postoji niz zadaća i funkcija koje SQL Server čini dostupnim, što može poboljšati performanse i pouzdanost vaših baza podataka. Prethodno smo vam pokazali kako sigurnosno kopirati SQL Server baze podataka jednostavnom skriptom naredbenog retka tako da na isti način dajemo skriptu koja će vam omogućiti jednostavno obavljanje zajedničkih zadataka održavanja.
Sklapanje / skupljanje baze podataka [/ Compact]
Postoji nekoliko čimbenika koji pridonose fizičkom prostoru diska koji koristi SQL Server baza podataka. Samo da spomenemo nekoliko:
Kompaktiranje (ili smanjivanje) baze podataka vratit će neiskorišteni prostor na disku. Za male baze podataka (200 MB ili manje) to obično neće biti jako puno, ali za velike baze podataka (1 GB ili više) može se značajno povećati obnovljeni prostor.
Ponovno indeksiranje baze podataka [/ Reindex]
Slično kao stalno stvaranje, uređivanje i brisanje datoteka može dovesti do fragmentacije diska, umetanje, ažuriranje i brisanje zapisa u bazi podataka može dovesti do fragmentacije tablice. Praktični rezultati su isti u tome što operacije čitanja i pisanja pate od performansi. Iako nije savršena analogija, preusmjeravanje tablica u bazi podataka bitno ih defragmentira. U nekim slučajevima to može znatno povećati brzinu dohvaćanja podataka.
Zbog načina na koji SQL Server radi, tablice moraju biti ponovno indeksirane pojedinačno. Za baze podataka s velikim brojem tablica to može biti pravi bol za ručno, ali naš scenarij pogoduje svaku tablicu u odgovarajućoj bazi podataka i obnavlja sve indekse.
Potvrđivanje integriteta [/ Verify]
Da bi baza podataka ostala funkcionalna i proizvesti točne rezultate, postoje brojne stavke integriteta koje moraju biti na mjestu. Srećom, problemi s fizičkim i / ili logičnim integritetom nisu vrlo česti, ali je dobra praksa da povremeno provodite postupak provjere integriteta na svojim bazama podataka i pregledate rezultate.
Kada se provjera provodi kroz naše skripte, prijavljuju se samo pogreške pa nema vijesti dobra vijest.
Skupna skripta SQLMaint kompatibilna je s SQL 2005 i novijima i mora se pokrenuti na računalu s instaliranim SQLCMD alatem (instaliranim kao dio instalacije sustava SQL Server). Preporuča se da ovu skriptu otpustite na mjesto postavljeno u varijabli PATH za sustav Windows (npr. C: Windows) kako bi se lako mogao nazvati kao i bilo koja druga aplikacija iz naredbenog retka.
Da biste pogledali informacije o pomoći, jednostavno unesite:
SQLMaint /?
Primjeri
Da biste pokrenuli kompaktan, a potom potvrdili u bazi "MyDB" pomoću pouzdane veze:
SQLMaint MyDB / Compact / Verify
Da biste pokrenuli reindeks i kompaktirali na "MyDB" na imenovani primjer "Special" pomoću "sa" korisnika s lozinkom "123456":
SQLMaint MyDB /S:.Special / U: sa / P: 123456 / Reindex / Kompaktan
Koristeći se iz Unutar Skupno skripte
Dok se skripta za SQLMaint može koristiti kao aplikacija iz naredbenog retka, kada ga upotrebljavate unutar neke druge skupne skripte, morate ga prethoditi ključnom riječi CALL.
Na primjer, ova skripta pokreće sve zadatke održavanja na svakoj bazi podataka koja nije sustava na zadanoj instalaciji sustava SQL Server pomoću pouzdanog provjere autentičnosti:
@Heko isključeno
SETLOCAL EnableExtensions
SET DBList = "% TEMP% DBList.txt"
SqlCmd -E -h-1 -w 300 -Q "SET NoCount ON; SELECT Naziv FROM master.dbo.sysDatabases WHERE Naziv nije IN ('master', 'model', 'msdb', 'tempdb') ">% DBList%
FOR / F "usebackq oznake = 1" %% i IN (% DBList%) DO (
Nazovite SQLMaint "%% i" / Compact / Reindex / Verify
ECHO +++++++++++
)
Ako postoje,% DBList% DEL / F / Q% DBList%
ENDLOCAL
Preuzmite SQLMaint Batch Script iz SysadminGeek.com