Papildus rezerves kopiju izveidei ir dažādi uzdevumi un funkcijas, kuras nodrošina SQL Server, kas var uzlabot datu bāzu darbību un uzticamību. Mēs iepriekš esam parādījuši, kā SQL Server datu bāzēs izveidot rezerves komandrindas skriptu, tādā veidā mēs piedāvājam skriptu, kas ļaus jums viegli izpildīt kopējus tehniskās apkopes uzdevumus.
Datubāzes saspiešana / saīsināšana [/ Compact]
Ir vairāki faktori, kas veicina fizisko diska vietu, kuru izmanto SQL Server datu bāze. Vienkārši nosaukt dažus:
Kompakts (vai samazinās) datu bāze atgūs neizmantoto diska vietu. Mazām datu bāzēm (200 MB vai mazāka) parasti tas nebūs ļoti liels, bet lielām datu bāzēm (1 GB vai vairāk) atgūstamā vieta var būt ievērojama.
Reindexing a Database [/ Reindex]
Līdzīgi kā pastāvīgu failu izveidošana, rediģēšana un dzēšana var izraisīt diska fragmentāciju, datu bāzes ierakstu ievietošana, atjaunināšana un dzēšana var izraisīt galdu sadrumstalotību. Praktiskie rezultāti ir tādi paši, ka lasīšanas un rakstīšanas operācijas cieš no rezultātu sasniegšanas. Lai gan tā nav perfekta analoģija, tabulu pārvēršana indeksē datubāzē tos sākotnēji defragē. Dažos gadījumos tas var būtiski palielināt datu izguves ātrumu.
Sakarā ar to, kā darbojas SQL Server, tabulas jāindeksē atsevišķi. Datu bāzēm ar lielu tabulu skaitu var būt reālas sāpes rīkoties manuāli, bet mūsu skripts pārlūko katru tabulu attiecīgajā datubāzē un pārveido visus indeksus.
Integritātes pārbaude [/ Verify]
Lai datu bāze paliktu funkcionāla un sniegtu precīzus rezultātus, pastāv daudzi viengabalainības elementi. Par laimi, fiziskās un / vai loģiskās integritātes problēmas nav ļoti izplatītas, taču ir laba prakse laiku pa laikam vadīt integritātes verifikācijas procesu jūsu datubāzēs un pārskatīt rezultātus.
Kad verifikācijas process tiek izpildīts caur mūsu skriptu, tiek ziņots tikai par kļūdām, tādēļ ziņas nav labas ziņas.
SQLMaint partijas skripts ir saderīgs ar SQL 2005 un jaunāku versiju, un tas jāiedarbina uz mašīnas, kurā ir instalēts SQLCMD rīks (instalēts kā daļa no SQL Server instalācijas). Ieteicams šo skriptu nomest vietā, kas noteikta jūsu Windows PATH mainīgā (t.i., C: Windows), lai to varētu viegli izsaukt kā jebkuru citu no komandrindas lietojumprogrammu.
Lai apskatītu palīdzības informāciju, vienkārši ievadiet:
SQLMaint /?
Piemēri
Lai palaistu kompaktdisku un pēc tam verificētu datu bāzē "MyDB", izmantojot uzticamu savienojumu:
SQLMaint MyDB / Kompakts / pārbaudīt
Lai palaistu reindeksu un pēc tam kompaktdisku "MyDB" uz nosaukto gadījumu "Īpašais", izmantojot "sa" lietotāju ar paroli "123456":
SQLMaint MyDB /S:.Special / U: sa / P: 123456 / Reindeks / Kompakts
Izmantojot no partijas skripta iekšpusi
Kaut arī SQLMaint partijas skriptu var izmantot, piemēram, komandrindas lietojumprogrammu, ja to izmantojat cita partijas skripta iekšpusē, tai pirms tam jābūt ar CALL atslēgvārdu.
Piemēram, šis skripts izpilda visus tehniskās apkopes uzdevumus visās sistēmās, kas nav sistēmas datu bāzē, noklusējuma SQL Server instalācijā, izmantojot uzticamu autentifikāciju:
@ECHO OFF
SETLOCAL EnableExtensions
SET DBList = "% TEMP% DBList.txt"
SqlCmd -E -h-1 -w 300 -Q "SET NrCount ON; SELECT NAME FROM master.dbo.sysDatabase WHERE nosaukums nav ("master", "modelis", "msdb", "tempdb") ">%% DBList%
FOR / F "usebackq tokens = 1" %% i IN (% DBList%) DO (
CALL SQLMaint "%% i" / Compact / Reindex / Verify
ECHO +++++++++++
)
Ja eksist%% bloks% DEL / F / Q% DBList%
ENDLOCAL
Lejupielādējiet SQLMaint Batch Script no SysadminGeek.com