Udostępnij za pośrednictwem


Tworzenie kopii zapasowych i przywracanie baz danych programu SQL Server w systemie Linux

Dotyczy:programu SQL Server — Linux

Kopie zapasowe baz danych z programu SQL Server w systemie Linux można tworzyć z wielu różnych opcji. Na serwerze z systemem Linux można użyć sqlcmd do nawiązania połączenia z programem SQL Server i tworzenia kopii zapasowych. Z systemu Windows możesz nawiązać połączenie z programem SQL Server w systemie Linux i tworzyć kopie zapasowe za pomocą interfejsu użytkownika. Funkcja tworzenia kopii zapasowej jest taka sama na różnych platformach. Można na przykład tworzyć kopie zapasowe baz danych lokalnie, na dyskach zdalnych lub kopii zapasowej programu SQL Server pod adresem URL usługi Microsoft Azure Blob Storage.

Ważny

Program SQL Server w systemie Linux obsługuje tylko tworzenie kopii zapasowych w usłudze Azure Blob Storage przy użyciu blokowych obiektów blob. Użycie klucza magazynu do tworzenia kopii zapasowych i przywracania spowoduje użycie "page blog", co nie jest obsługiwane. Zamiast tego użyj sygnatury dostępu współdzielonego. Aby uzyskać informacje na temat blogów blokowych i blogów stron, zobacz Backup to block blob vs. page blob.

Tworzenie kopii zapasowej bazy danych

W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem programu SQL Server i wykonuje pełną kopię zapasową bazy danych użytkownika o nazwie demodb.

sqlcmd -S localhost -U sa -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Po uruchomieniu polecenia program SQL Server wyświetli monit o podanie hasła. Po wprowadzeniu hasła powłoka zwróci informacje o postępie tworzenia kopii zapasowej. Na przykład:

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

Tworzenie kopii zapasowej dziennika transakcji

Jeśli baza danych znajduje się w modelu pełnego odzyskiwania, możesz również utworzyć kopie zapasowe dziennika transakcji, aby uzyskać bardziej szczegółowe opcje przywracania. W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem programu SQL Server i wykonuje kopię zapasową dziennika transakcji.

sqlcmd -S localhost -U sa -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"

Przywracanie bazy danych

W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem programu SQL Server i przywraca bazę danych demodb. Opcja NORECOVERY służy do zezwalania na dodatkowe przywracanie kopii zapasowych plików dziennika. Jeśli nie planujesz przywracania dodatkowych plików dziennika, usuń opcję NORECOVERY.

sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"

Napiwek

Jeśli przypadkowo użyjesz noRECOVERY, ale nie masz dodatkowych kopii zapasowych plików dziennika, uruchom polecenie RESTORE DATABASE demodb bez dodatkowych parametrów. Spowoduje to zakończenie przywracania, a baza danych będzie operacyjna.

Przywracanie dziennika transakcji

Następujące polecenie przywraca poprzednią kopię zapasową dziennika transakcji.

sqlcmd -S localhost -U sa -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

Tworzenie kopii zapasowych i przywracanie za pomocą programu SQL Server Management Studio (SSMS)

Możesz użyć SSMS z komputera z systemem Windows, aby nawiązać połączenie z bazą danych systemu Linux i utworzyć kopię zapasową za pośrednictwem interfejsu użytkownika.

Notatka

Użyj najnowszej wersji programu SSMS, aby nawiązać połączenie z programem SQL Server. Aby pobrać i zainstalować najnowszą wersję, zobacz Pobierz program SQL Server Management Studio (SSMS). Aby uzyskać więcej informacji na temat korzystania z programu SSMS, zobacz Używanie programu SQL Server Management Studio w systemie Windows do zarządzania programem SQL Server w systemie Linux.

W poniższych krokach opisano tworzenie kopii zapasowej za pomocą programu SSMS.

  1. Uruchom SSMS i połącz się z SQL Server na serwerze Linux.

  2. W eksploratorze obiektów kliknij prawym przyciskiem myszy bazę danych, wybierz Tasks, a następnie wybierz pozycję Utwórz kopię zapasową....

  3. W oknie dialogowym tworzenia kopii zapasowej bazy danych sprawdź parametry i opcje, a następnie wybierz pozycję OK.

Program SQL Server kończy tworzenie kopii zapasowej bazy danych.

Przywracanie za pomocą programu SQL Server Management Studio (SSMS)

Poniższe kroki przeprowadzą Cię przez proces przywracania bazy danych za pomocą programu SSMS.

  1. W programie SSMS kliknij prawym przyciskiem myszy pozycję Bazy danych i wybierz pozycję Przywróć bazy danych....

  2. Pod Sourcewybierz Device:, a następnie wybierz wielokropek (...).

  3. Znajdź plik kopii zapasowej bazy danych i wybierz pozycję OK.

  4. W ramach planu przywracania , sprawdź plik kopii zapasowej i ustawienia. Wybierz pozycję OK.

  5. Program SQL Server przywraca bazę danych.

Współtworzenie dokumentacji SQL

Czy wiesz, że możesz samodzielnie edytować zawartość SQL? Jeśli to zrobisz, nie tylko pomożesz ulepszyć naszą dokumentację, ale także zostaniesz uznany jako współtwórca strony.

Aby uzyskać więcej informacji, zobacz Jak współtworzyć dokumentację programu SQL Server