Sichern und Wiederherstellen von SQL Server-Datenbanken für Linux

Gilt für:SQL Server – Linux

Es stehen viele verschiedene Optionen bereit, um Sicherungen von Datenbanken über SQL Server für Linux zu erstellen. Auf einem Linux-Server können Sie mit sqlcmd eine Verbindung mit dem SQL Server herstellen und Sicherungen erstellen. Von Windows aus können Sie eine Verbindung mit SQL Server für Linux herstellen und Sicherungen über die Benutzeroberfläche erstellen. Die Sicherungsfunktionalität ist plattformübergreifend identisch. Beispielsweise können Sie Datenbanken lokal, auf Remotelaufwerken oder in Microsoft Azure Blob Storage sichern.

Wichtig

SQL Server für Linux unterstützt nur das Sichern im Azure Blob Storage mit Blockblobs. Die Verwendung eines Speicherschlüssels für die Sicherung und Wiederherstellung führt zur Verwendung eines Seitenblobs, was nicht unterstützt wird. Verwenden Sie stattdessen eine Shared Access Signature. Weitere Informationen zu Unterschieden zwischen Blockblobs und Seitenblobs finden Sie unter Sicherung: Blockblobs vs. Seitenblobs.

Sichern einer Datenbank

Im folgenden Beispiel stellt sqlcmd eine Verbindung mit der lokalen SQL Server-Instanz her und führt eine vollständige Sicherung einer Benutzerdatenbank mit dem Namen demodb her.

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"

Wenn Sie den Befehl ausführen, fordert SQL Server Sie auf, ein Kennwort einzugeben. Nachdem Sie das Kennwort eingegeben haben, gibt die Shell die Ergebnisse des Sicherungsstatus zurück. Beispiel:

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).

Sichern des Transaktionsprotokolls

Wenn die Datenbank zum vollständigen Wiederherstellungsmodell gehört, können Sie auch Transaktionsprotokollsicherungen für differenziertere Wiederherstellungsoptionen erstellen. Im folgenden Beispiel stellt sqlcmd eine Verbindung mit der lokalen SQL Server-Instanz her und führt eine Transaktionsprotokollsicherung durch.

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"

Wiederherstellen einer Datenbank

Im folgenden Beispiel stellt sqlcmd eine Verbindung mit der lokalen Instanz von SQL Server her und stellt die demodb-Datenbank wieder her. Die NORECOVERY-Option wird für zusätzliche Wiederherstellungen von Protokolldateisicherungen verwendet. Wenn Sie keine weiteren Protokolldateien wiederherstellen möchten, entfernen Sie die NORECOVERY-Option.

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"

Tipp

Wenn Sie versehentlich NORECOVERY verwenden, aber keine zusätzlichen Protokolldateisicherungen haben, führen Sie den RESTORE DATABASE demodb-Befehl ohne zusätzliche Parameter aus. Dadurch wird die Wiederherstellung abgeschlossen, und die Datenbank bleibt funktionstüchtig.

Wiederherstellen des Transaktionsprotokolls

Der folgende Befehl stellt die vorherige Transaktionsprotokollsicherung wieder her.

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

Sichern und Wiederherstellen mit SSMS (SQL Server Management Studio)

Sie können SSMS auf einem Windows-Computer verwenden, um eine Verbindung mit einer Linux-Datenbank herzustellen und eine Sicherung über die Benutzeroberfläche durchzuführen.

Hinweis

Verwenden Sie die neueste Version von SSMS, um eine Verbindung mit SQL Server herzustellen. Die aktuelle Version können Sie unter Herunterladen von SQL Server Management Studio (SSMS) herunterladen. Weitere Informationen zum Verwenden von SSMS finden Sie unter Verwenden von SSMS zum Verwalten von SQL Server für Linux.

Die folgenden Schritte führen Sie durch das Erstellen einer Sicherung mit SSMS.

  1. Starten Sie SSMS, und stellen Sie eine Verbindung mit Ihrer SQL Server für Linux-Instanz her.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, und wählen Sie Tasks und dann Sichern aus.

  3. Überprüfen Sie im Dialogfeld Datenbank sichern die Parameter und Optionen, und wählen Sie OK aus.

SQL Server schließt die Datenbanksicherung ab.

Wiederherstellen mit SSMS (SQL Server Management Studio)

Die folgenden Schritte führen Sie durch die Wiederherstellung einer Datenbank mit SSMS.

  1. Klicken Sie in SSMS mit der rechten Maustaste auf Datenbanken, und wählen Sie Datenbanken wiederherstellen aus.

  2. Wählen Sie unter Quelle die Option Gerät: und dann die Auslassungspunkte (...) aus.

  3. Suchen Sie die Datenbanksicherungsdatei, und wählen Sie OK aus.

  4. Überprüfen Sie unter Wiederherstellungsplan die Sicherungsdatei und die Einstellungen. Klicken Sie auf OK.

  5. SQL Server stellt die Datenbank wieder her.

Zur SQL-Dokumentation beitragen

Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Hierdurch helfen Sie nicht nur mit, unsere Dokumentation zu verbessern, sondern Sie werden auch als Mitwirkender an der Seite aufgeführt.

Weitere Informationen finden Sie unter Mitwirken an der SQL Server-Dokumentation.