W poniższym artykule przedstawimy w jaki sposób można uruchomić mechanizm automatycznego tworzenia się kopi zapasowej bazy danych dla systemu Sekretariat.
Kopię można uruchamiać cyklicznie (należy wtedy zdefiniować zadanie w Harmonogramie zadań systemu Windows) lub uruchamiając przygotowany plik ręcznie.
Jeżeli mamy zainstalowany program z naszego instalatora wystarczy stworzyć plik i go uruchomić. Ważne należy posiadać uprawnienia administracyjne w systemie i uruchomić plik z uprawnieniami administracyjnym.
Jak stworzyć plik?
- Uruchamiamy program Notatnik
2. Wpisujemy następującą zawartość
echo off :: DANE set BACKUPPATH=c:\BackupSekretariat set DATABASE=Sekretariat set SERVERNAME=localhost set DATESTAMP=%DATE%_%TIME:~0,2%-%TIME:~3,2% :: data rrrr-mm-dd, time gg:mm:ss,ms set FILENAME=%BACKUPPATH%\%DATABASE%_%DATESTAMP%.bak set UserNameSa=sa set PasswordSa=@t$0ftw@re md %BACKUPPATH% REM sqlcmd -E -S %SERVERNAME% -d master -Q "BACKUP DATABASE [%DATABASE%] TO DISK = N'%FILENAME%' WITH INIT , NOUNLOAD , NAME = N'%DATABASE% backup', NOSKIP , STATS = 10, NOFORMAT" sqlcmd -S %SERVERNAME% -d master -U %UserNameSa% -P %PasswordSa% -Q "BACKUP DATABASE [%DATABASE%] TO DISK = N'%FILENAME%' WITH INIT , NOUNLOAD , NAME = N'%DATABASE% backup', NOSKIP , STATS = 10, NOFORMAT"
Backup zostanie założony w folderze c:\BackupSekretariat
3. Zapisujemy plik z nazwą backup.bat w dowolnym miejscu
Aby uruchomić backup bazy klikamy prawym klawiszem myszki i wybieramy Uruchom jak administrator
Po poprawnym wykonaniu w folderze c:\BackupSekretariat powinien pojawić się nowy plik.
4. W celu zrestorowania bazy danych możemy posłużyć się takim skryptem:
sqlcmd -S localhost -U SA -Q “RESTORE DATABASE [Sekretariat] FROM DISK = N’C:\SEKRETARIAT\27-10-2022\Sekretariat.bak’ WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5”
Przykładowe skrypty bat