Partii skript varukoopiate tegemiseks kõikidele teie SQL Serveri andmebaasidele
Oleme juba käsitlenud, kuidas SQL Serveri andmebaasi varundada käsurealt, nii et mis siis, kui soovid varundada kõik oma andmebaasid korraga? Sa võid luua partii skripti, mis käivitab iga andmebaasi varukoopia, kuid seda skripti tuleb uuendada iga kord, kui andmebaasi lisatakse või eemaldatakse. Lisaks lisatakse kõik andmebaasi varukoopiad ühele failile, mis kasvab iga uue käivitamise ajal uue varukoopia suurusega. Selle asemel loome me „õige ja unustage” moel partii skripti, mis kohandub teie SQL Serveriga uute andmebaaside lisamise ja eemaldamise korral.
Punkti paremaks muutmiseks on see varukoopia:
@ECHO OFF
SETLOCALREM Hangi kuupäev kujul YYYY-MM-DD (eeldab, et asukoht on Ameerika Ühendriigid)
FOR / F “märgid = 1,2,3,4 delims = /” %% A IN ('Kuupäev / T') DO SET NowDate = %% D - %% B - %% CREM Loo varundamiseks andmebaaside loend
SET DBList =% SystemDrive% SQLDBList.txt
SqlCmd -E -S MyServer -h-1 -W -Q “SET NoCount ON; SELECT Name from master.dbo.sysDatabases WHERE [Name] NOT IN ('master', 'model', 'msdb', 'tempdb') '> “% DBList%”REM-i varukoopiad iga andmebaasi, andes kuupäeva failinimele
FOR / F “märgid = *” %% I IN (% DBList%) DO (
ECHO varundamise andmebaas: %% I
SqlCmd -E -S MyServer -Q “BACKUP DATABASE [%% I] Disk =" D: varukoopia% NowDate% _ %% I.bak ""
ECHO.
)REM Puhastage temp-fail
KUI EXIST “% DBList%” DEL / F / Q “% DBList%”ENDLOCAL
Eeldades, et kuupäev on 1/13/2009 ja teil on 3 andmebaasi nimega 'MyDB', 'AnotherDB' ja 'DB Name with Spaces', genereerib skript 3 varukoopia asukohta:
- 2009-01-13_AnotherDB.bak
- 2009-01-13_DB Nimi Spaces.bak'iga
- 2009-01-13_MyDB.bak
Partii skripti kohandamine ja käivitamine
Loomulikult soovite skripti kohandada oma keskkonda, nii et siin on vaja teha järgmist:
- Kui teie seadme asukoht ei ole USA-s määratud, ei pruugi käsk „Kuupäev / T” kuupäeva tagastada „Tue 01/13/2009” formaadis. Sellisel juhul ei anna NowDate muutuja soovitud vormingut ja seda tuleks kohandada. (1 koht)
- Muutke 'MyServer', et see oleks teie SQL Serveri nimi (lisage vajadusel eksemplari nimi). (2 kohta)
- Andmebaasid nimega "master", "mudel", "msdb" ja "tempdb" on andmebaasid, mis saadavad SQL Serveriga. Kui te ei soovi, et need varundatakse, saate sellele loetelule lisada täiendavaid andmebaasi nimesid. (1 koht)
- Muuda varukoopia asukohta „D: Backup” (asukoht), kuhu soovite salvestada andmebaasi varukoopiad.
Kui olete partii skripti kohandanud, siis ajastage see Windows Task Scheduleri kaudu administraatori õigustega kasutajana ja olete kõik seadistatud.