Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wykonać kopię zapasową bazy danych SQL Server za pomocą T-SQL

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';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skopiować rekord w tabeli SQL, ale zamienić unikalny identyfikator nowego wiersza?

  2. Co to jest STATYSTYKA XML w programie SQL Server?

  3. Korzystanie z wyszukiwania pełnotekstowego w SQL Server 2008 w wielu tabelach, kolumnach

  4. Jak wykonać zapytanie o wszystkie daty większe niż określona data w programie SQL Server?

  5. Przekonanie do regularnego serwisowania serwera SQL