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

Gilt für:SQL Server unter Linux

Man kann SQL Server-Datenbanken auf Linux auf viele Arten sichern. Auf einem Linux-Server kannst du dich sqlcmd mit dem SQL Server verbinden und Datenbanken sichern. Von Windows aus kannst du dich mit SQL Server für Linux verbinden und Datenbanken über die Benutzeroberfläche sichern. Die Sicherungsfunktionalität ist plattformübergreifend identisch. Zum Beispiel können Sie Datenbanken lokal sichern, auf entfernte Laufwerke oder auf SQL Server eine URL für Azure Blob Storage sichern.

Important

SQL Server für Linux unterstützt nur das Sichern auf Azure Blob Storage mit Block Blobs. Die Verwendung eines Speicherschlüssels für Backup und Wiederherstellung verwendet einen Seitenblob, der nicht unterstützt wird. Verwenden Sie stattdessen eine Shared-Access-Signatur (SAS). Weitere Informationen zu den Unterschieden zwischen Blockblobs und Seitenblobs finden Sie unter Sicherung: Blockblobs und Seitenblobs.

Sichern einer Datenbank

Im folgenden Beispiel stellt sqlcmd eine Verbindung mit der lokalen SQL-Server-Instanz her und erstellt eine vollständige Sicherung einer Benutzerdatenbank mit dem Namen 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"

Wenn Sie den Befehl ausführen, fordert SQL Server Sie auf, ein Kennwort einzugeben. Nachdem du das Passwort eingegeben hast, liefert die Shell die Ergebnisse des Backup-Fortschritts. 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 Sie das Transaktionsprotokoll

Wenn sich Ihre Datenbank im vollständigen Wiederherstellungsmodell befindet, können Sie auch das Transaktionsprotokoll für detailliertere Wiederherstellungsoptionen sichern. Im folgenden Beispiel stellt sqlcmd eine Verbindung mit der lokalen SQL-Server-Instanz her und erstellt eine Sicherung des Transaktionsprotokolls.

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 sqlcmd wird eine Verbindung mit der lokalen Instanz von SQL Server hergestellt und die Demodb-Datenbank wiederhergestellt. Die NORECOVERY Option ermöglicht zusätzliche Wiederherstellungen von Logdateien-Backups. 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"

Tip

Wenn du versehentlich Backups für Logdateien verwendest NORECOVERY , aber keine zusätzlichen Backups hast, führe den Befehl RESTORE DATABASE demodb ohne zusätzliche Parameter aus. Dieser Befehl beendet die Wiederherstellung und lässt deine Datenbank wieder funktionsfähig.

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)

Man kann SQL Server Management Studio (SSMS) von einem Windows-Computer aus verwenden, um sich mit einer Linux-Datenbank zu verbinden und über die Benutzeroberfläche ein Backup zu machen.

Note

Installieren Sie die neueste Version von SQL Server Management Studio (SSMS). Weitere Informationen wie Sie SSMS verwenden, finden Sie unter Verwenden von SQL Server Management Studio unter Windows zum Verwalten von SQL Server für Linux.

Die folgenden Schritte erläutern, wie Sie mit SSMS eine Sicherung erstellen.

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

  2. Im Objekt-Explorer klicken Sie mit der rechten Maustaste auf Ihre Datenbank, wählen Sie Aufgaben und wählen Sie dann Backup Up... aus.

  3. Im Dialogfeld Backup-Datenbank überprüfen Sie 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. Im SSMS klicke mit der rechten Maustaste auf Datenbanken und wähle Datenbankenwiederherstellen....

  2. Wählen Sie unter QuelleGerät: aus und dann die Ellipsen (...).

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

  4. Überprüfen Sie unter Wiederherstellungsplan die Sicherungsdatei und die Einstellungen. Wählen Sie OK aus.

  5. SQL Server stellt die Datenbank wieder her.

Zur SQL-Dokumentation beitragen

Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Wenn Sie dies tun, helfen Sie nicht nur, unsere Dokumentation zu verbessern, sondern werden Sie auch als Mitwirkender der Seite erwähnt.

Weitere Informationen finden Sie unter Edit Microsoft Learn documentation.