Możesz użyć T-SQL BACKUP DATABASE
instrukcja tworzenia kopii zapasowej dowolnej bazy danych SQL Server.
W tym artykule pokazano, jak wykonać kopię zapasową bazy danych na dysku. Spowoduje to utworzenie pliku .bak, którego można później użyć do przywrócenia bazy danych w razie potrzeby.
Utwórz pełną kopię zapasową
Oto podstawowy przykład tworzenia pełnej kopii zapasowej bazy danych SQL Server na dysk:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak';
Ten przykład tworzy pełną kopię zapasową bazy danych Movies do pliku na dysku. W tym przykładzie użyto lokalizacji na dysku Z, ale ścieżka może być dowolna. Kopię zapasową bazy danych należy utworzyć na innym dysku niż ten, który jest używany do samej bazy danych. W ten sposób w przypadku awarii dysku nie stracisz pliku kopii zapasowej wraz z bazą danych.
Poniższy przykład robi to samo, ale ten przykład używa składni ścieżki plików w systemach Linux i Mac:
BACKUP DATABASE Movies TO DISK = '/var/opt/mssql/backups/Movies.bak';
Utwórz różnicową kopię zapasową
Po utworzeniu pełnej kopii zapasowej możesz tworzyć kopie różnicowe. Kopia różnicowa to taka, w której tworzona jest kopia zapasowa tylko części bazy danych, które uległy zmianie od czasu utworzenia ostatniej pełnej kopii zapasowej.
Kopie różnicowe skracają czas tworzenia kopii zapasowej bazy danych (ze względu na fakt, że tworzone są tylko zmiany od ostatniej pełnej kopii zapasowej).
Aby utworzyć różnicową kopię zapasową, użyj tej samej BACKUP DATABASE
oświadczenie, którego używasz do tworzenia pełnej kopii zapasowej, ale tym razem dodaj WITH DIFFERENTIAL
klauzula.
Oto przykład:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak' WITH DIFFERENTIAL;
Uruchomienie tej instrukcji spowoduje dodanie różnicowej kopii zapasowej do oryginalnego pliku kopii zapasowej, który zawiera pełną kopię zapasową.
Utwórz kopię zapasową dziennika transakcji
Możesz także wykonać kopię zapasową dziennika transakcji. Odbywa się to za pomocą BACKUP LOG
oświadczenie.
Oto przykład:
BACKUP LOG Movies TO DISK = 'Z:\mssql\backups\Movies_log.bak';