Partijas skripts, lai dublētu visas jūsu SQL Server datu bāzes

Satura rādītājs:

Partijas skripts, lai dublētu visas jūsu SQL Server datu bāzes
Partijas skripts, lai dublētu visas jūsu SQL Server datu bāzes

Video: Partijas skripts, lai dublētu visas jūsu SQL Server datu bāzes

Video: Partijas skripts, lai dublētu visas jūsu SQL Server datu bāzes
Video: How To Enter DFU Mode on iPhone, iPad, & iPod Touch - YouTube 2024, Maijs
Anonim

Mēs jau esam apsprieduši, kā no komandrindas dublēt SQL Server datu bāzi, tad, ja vēlaties vienlaikus dublēt visas savas datu bāzes? Varat izveidot partijas skriptu, kurā tiek izpildīta katras datu bāzes rezerves kopija, bet šis skripts ir jāatjaunina katru reizi, kad tiek pievienota vai noņemta datubāze. Turklāt datubāzes dublējumkopijas tiks pievienotas vienam failam, kas palielināsies pēc jaunās rezerves lieluma katru reizi, kad tas tiks palaists. Tā vietā, taisnīgi nosakot un aizmirstiet modeli, mēs izveidosim partijas skriptu, kas pielāgosies jūsu SQL Server, kad tiek pievienotas un noņemtas jaunas datubāzes.

Lai iegūtu tiesības uz punktu, tas ir rezerves skripts:

@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

Pieņemot, ka datējums ir 2009. gada 1. janvāris, un jums ir 3 datubāzes ar nosaukumu MyDB, AnotherDB un DB Name with Spaces, skripts izveidos 3 failus norādītajā dublējuma atrašanās vietā:

  • 2009-01-13_AnotherDB.bak
  • 2009-01-13_DB Nosaukums ar Spaces.bak
  • 2009-01-13_MyDB.bak

Pielāgošana un partijas skripta palaišana

Protams, jūs vēlēsities pielāgot skriptu savai videi, tāpēc šeit ir tas, kas jums jādara:

  • Ja jūsu ierīces lokalizācija nav iestatīta uz ASV, komanda Date / T var neatbilst datumam formātā "Tue 13/01/2009". Ja tas tā ir, mainīgais NowDate neradīs vēlamo formātu un ir jāpielāgo. (1 vieta)
  • Mainiet "MyServer" kā savu SQL Server nosaukumu (ja nepieciešams, pievienojiet instances nosaukumu). (2 vietas)
  • Datubāzes ar nosaukumu "master", "modelis", "msdb" un "tempdb" ir datu bāzes, kas tiek piegādātas kopā ar SQL Server. Šajā sarakstā varat pievienot papildu datu bāzes nosaukumus, ja nevēlaties tos dublēt. (1 vieta)
  • Mainiet dublējuma atrašanās vietu no "D: Backup" uz vietu, kur vēlaties saglabāt datu bāzes dublējumkopijas.

Kad esat pielāgojis partijas skriptu, plānojiet to palaist, izmantojot Windows Task Scheduler kā lietotāju ar administratora tiesībām, un jūs visi esat iestatījis.

Ieteicams: