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 SQL Server-Backup zu URL für 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.
So sichern Sie eine 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. Zum Beispiel:
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.
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.
Verwalten einer SQL Server-Datenbankinfrastruktur für Cloud-, lokale und hybride relationale Datenbanken auf Grundlage der Microsoft PaaS-Angebote für relationale Datenbanken.
In diesem Artikel wird beschrieben, wie Sie mit SQL Server Management Studio und Sqlpackage.exe eine Datenbank unter SQL Server für Linux exportieren und importieren.
Behandeln Sie Probleme bei SQL Server für Linux oder in einem Linux-Container. Erfahren Sie, wo Sie Informationen zu unterstützten Features und bekannten Einschränkungen finden.
Hier erfahren Sie, wie Sie verschiedene SQL Server-Dienste unter Linux starten, beenden, oder neu starten. Zudem erfahren Sie, wie Sie Transact-SQL und Befehlszeilentools für diese Aktionen verwenden können.