Dziś chciałbym zaprezentować Wam skrypt, który może się przydać kiedy staniecie przed zadaniem backupu baz danych w Microsoft Azure. Co robi skrypt?
- Sprawdza rozmiar każdej z baz danych na danym serwerze
- Backupuje wszystkie bazy danych na serwerze wliczając w to master’a (lub nie) do folderu na dysku lokalnym
Skrypt najwygodniej uruchomić z konsoli Powershell ISE (najlepiej jako administrator). Zanim jednak to nastąpi trzeba zmienić w nim kilka rzeczy. Przejdź na jego koniec i podaj ścieżki do bibliotek Microsoft.SqlServer.Smo.dll i Microsoft.SqlServer.Dac.dll. Jeśli wykorzystałeś domyślne ścieżki przy instalacji tych bibliotek to ścieżki ustawione w skrypcie powinny się zgadzać:
1 2 |
$smo = "C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies\Microsoft.SqlServer.Smo.dll" $dac = "C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\Microsoft.SqlServer.Dac.dll" |
Trzeba jeszcze zmodyfikować atrybuty komendy która odpala skrypt:
1 |
Get-Bacpacs -location "C:\Azure db backups\dbbacpacs\" -server "servername.database.windows.net" -smolibrary $smo -daclibrary $dac -username "user" -password "password" |
-location: ścieżka gdzie wgrane zostaną backup’y
-server: adres serwera SQL Azure z bazami danych do backup’u
-smolibrary: ścieżka do biblioteki SQL Server SMO (patrz wyżej)
-daclibrary: ścieżka do biblioteki SQL Server DAC (patrz wyżej)
-username: login użytkownika na serwer SQL Azure
-password: hasło użytkownika na serwer SQL Azure
Przykładowy przebieg skryptu:
Skrypt zaczerpnąłem z https://www.mssqltips.com/sqlservertip/3606/automate-retrieving-sql-azure-bacpacs-with-powershell/ i zmodyfikowałem na własne potrzeby.
W następnym wpisie zaprezentuję skrypt, który backupuje wszystkie WebAppy z danej grupy zasobów.