Partii skript kõigi teie SQL Serveri andmebaaside varundamiseks

Sisukord:

Partii skript kõigi teie SQL Serveri andmebaaside varundamiseks
Partii skript kõigi teie SQL Serveri andmebaaside varundamiseks

Video: Partii skript kõigi teie SQL Serveri andmebaaside varundamiseks

Video: Partii skript kõigi teie SQL Serveri andmebaaside varundamiseks
Video: Скачать и установить бесплатный антивирус Microsoft Security Essentials - YouTube 2024, Mai
Anonim

Oleme juba käsitlenud, kuidas SQL Serveri andmebaasi varundada käsurealt, miks siis, kui soovite kohe kõik oma andmebaasid varundada? Sa võid luua partitscriti, mis käitab iga andmebaasi varukoopunkti, kuid seda skripti tuleb värskendada iga kord, kui andmebaas lisatakse või eemaldatakse. Lisaks sellele lisatakse andmebaasi varundamine ühele failile, mis suureneb uue varundamise suuruse järgi iga kord, kui see käivitatakse. Selle asemel loome tõeliselt "set it and forget it" moe, et me luua partitscriti, mis kohandub teie SQL Serveriga, kui uusi andmebaase lisatakse ja eemaldatakse.

Selle saavutamiseks on see varukoopia skript:

@ECHO OFF SETLOCAL

REM Get date in format YYYY-MM-DD (assumes the locale is the United States) FOR /F “tokens=1,2,3,4 delims=/” %%A IN (‘Date /T’) DO SET NowDate=%%D-%%B-%%C

REM Build a list of databases to backup 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 Backup each database, prepending the date to the filename FOR /F “tokens=*” %%I IN (%DBList%) DO ( ECHO Backing up database: %%I SqlCmd -E -S MyServer -Q “BACKUP DATABASE [%%I] TO Disk=’D:Backup%NowDate%_%%I.bak'” ECHO. )

REM Clean up the temp file IF EXIST “%DBList%” DEL /F /Q “%DBList%”

ENDLOCAL

Eeldusel, et kuupäev on 01.01.2009 ja teil on kolm andmebaasi nimega "MyDB", "AnotherDB" ja "DB Name with Spaces", esitab skript faili 3 varundatud asukohas:

  • 2009-01-13_AnotherDB.bak
  • 2009-01-13_DB Nimi Spaces.bakiga
  • 2009-01-13_MyDB.bak

Partii skripti kohandamine ja käitamine

Loomulikult soovite skripti oma keskkonnale kohandada, nii et siin on see, mida peate tegema:

  • Kui teie masina lokal ei ole seatud USA-s, ei saa käsk "Date / T" kuupäeva tagasi saata vormingus "Tue 01/13/2009". Kui see on nii, siis muutuja NowDatet ei anna soovitud vormingut ja seda tuleks korrigeerida. (1 koht)
  • Muuda "MyServer" oma SQL Serveri nimeks (vajadusel lisage eksemplari nimi). (2 kohta)
  • Andmebaasid nimed "master", "mudel", "msdb" ja "tempdb" on andmebaasid, mis tarnivad SQL Serveriga. Selle loendi saate lisada täiendavaid andmebaasi nimesid, kui te ei soovi, et neid varundatakse. (1 koht)
  • Muutke varundamise asukohta 'D: Backup' asukohta, kus soovite salvestatud andmebaasi varukoopiaid.

Kui olete partitsükli kohandanud, planeerige seda käivitama Windows Task Scheduleri kaudu administraatoriõigustega kasutajana ja kõik olete seadistatud.

Soovitan: