W tym artykule wyjaśnię SQL Server Express Backup Database Schedule i Automate SQL Server Express Backup.
Kopia zapasowa SQL Server Express
SQL Server Express to wersja bezpłatna i jest dostępna z wieloma ograniczeniami. Na przykład; Rozmiar Twojej bazy danych nie powinien przekraczać 10 GB i istnieją ograniczenia, takie jak wyłączenie agenta SQL Server, wyłączenie zadań automatycznych. Aby uzyskać więcej informacji o edycjach SQL Server, przeczytaj następujący artykuł.
SQL Server Najnowsze wersje, edycje i historia SQL Server
Planuj i automatyzuj tworzenie kopii zapasowych SQL Server Express
SQL Server Agent zapewnia automatyczne zadania tworzenia kopii zapasowych, zadania konserwacyjne w wersjach Enterprise, Standard itp. oraz uruchamia nasze zadania. Ponieważ nie możemy tego użyć w Express, możemy zapewnić automatyczną kopię zapasową za pomocą Harmonogramu Windows.
Otwórz Harmonogram zadań systemu Windows i kliknij Nowe zadanie harmonogramu i wpisz nazwę zadania oraz inne ustawienia, takie jak następujące.
Określ harmonogram i kiedy zostanie uruchomiony w tym kroku.
W tym kroku określ, co będzie uruchamiane Harmonogram zadań. Uruchomimy plik o nazwie BackupDB.bat, a BackupDB.bat wywoła i uruchomi DailyBackup.sql
Gdy zadanie jest uruchomione, pobiera kopię zapasową o godzinie 02:00 każdej nocy i przechowuje 4 kopie zapasowe oraz usuwa kopie zapasowe starsze niż 4 dni w następujący sposób.
Zawartość BackupDB.bat wygląda jak poniżej.
echo off sqlcmd -S "INSTANCE_NAME" -i "C:\Backup\DailyBackup.sql" forfiles -p "C:\Backup" -s -m *.bak* /D -4 /C "cmd /c del @path"
Zawartość DailyBackup.sql wygląda jak poniżej.
DECLARE @pathName NVARCHAR(512) SET @pathName = 'C:\Backup\DB_BACKUP_' + replace(convert(varchar, getdate(),111),'/','') + replace(convert(varchar, getdate(),108),':','') + '.bak' BACKUP DATABASE DB_NAME TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
Harmonogram zadań uruchomi plik BackupDB.bat w nocy 02:00. Ten plik również wykonuje DailyBackup.sql. Zadanie wykona kopię zapasową bazy danych i wyczyści starszą kopię zapasową w wersji SQL Server Express.