Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So stellen Sie eine SQL Server-Datenbank auf einem Mac mit SQL Operations Studio wieder her

UPDATE:SQL Operations Studio (SQLOPS) wurde inzwischen in Azure Data Studio umbenannt. Die Schritte in diesem Artikel bleiben jedoch gleich. Auf jeden Fall habe ich auch diese Schritte speziell für Azure Data Studio umgeschrieben (und die entsprechenden Screenshots eingefügt). Siehe So stellen Sie eine SQL Server-Datenbank auf einem Mac mit Azure Data Studio wieder her.

Das Wiederherstellen einer Datenbank ist mit SQL Operations Studio ein Kinderspiel. Es ist ein ähnlicher Prozess wie bei SQL Server Management Studio. Klicken Sie einfach auf Wiederherstellen und folgen Sie den Anweisungen.

Mit diesem Wiederherstellungsprozess können Sie durch das Dateisystem des Computers navigieren, um die .bak-Datei zu finden. Diese .bak-Datei enthält eine Sicherung der Datenbank, die Sie wiederherstellen möchten. Wenn also SQL Server die Datenbank wiederherstellt, verwendet es dazu die .bak-Datei.

Wenn Sie Ihre SQL Server-Instanz jedoch in einem Docker-Container ausführen (was natürlich der Fall wäre, wenn Sie SQL Server auf Mac oder Linux ausführen), müssen Sie etwas beachten, wenn sich Ihre Sicherungsdatei befindet außerhalb des Docker-Containers.

Wenn sich die Sicherungsdatei außerhalb des Docker-Containers befindet, auf dem SQL Server ausgeführt wird, müssen Sie sie vor der Wiederherstellung in den Docker-Container kopieren. Sobald Sie die .bak-Datei in den Docker-Container kopiert haben, können Sie fortfahren und SQLOPS verwenden, um die Datenbank wiederherzustellen.

Im Folgenden skizziere ich alle erforderlichen Schritte.

In diesem Tutorial wird davon ausgegangen, dass Sie SQL Server mithilfe eines Docker-Containers auf Ihrem Mac installiert und SQL Operations Studio installiert haben.

Ich sollte darauf hinweisen, dass, obwohl die Beispiele auf dieser Seite auf einem Mac erstellt wurden, alle Schritte sowohl auf macOS als auch auf Linux funktionieren sollten.

Beispieldatenbank herunterladen

Wenn Sie bereits über eine eigene Datenbank-.bak-Datei verfügen, müssen Sie diesen Schritt nicht ausführen.

Für dieses Tutorial werde ich die WideWorldImporters-Beispieldatenbank wiederherstellen. Dies ist eine Beispieldatenbank, die Microsoft zur Verfügung gestellt hat, um die verschiedenen Features von SQL Server vorzuführen. Insbesondere werde ich die Data-Warehousing-Version der Datenbank verwenden.

Um die .bak-Datei der WideWorldImporters-Beispieldatenbank herunterzuladen, gehen Sie entweder zur WideWorldImporters-Github-Seite und suchen Sie den Download-Link, oder Sie können die .bak-Datei direkt hier herunterladen:

  • WildWorldImportersDW-Full.bak [47,7 MB]

Kopieren Sie die .bak-Datei in den Docker-Container

Sie müssen diesen Schritt nur ausführen, wenn sich Ihre .bak-Datei außerhalb des Docker-Containers befindet (was der Fall sein wird, wenn Sie gerade die .bak-Datei von WideWorldImporters heruntergeladen haben).

Lassen Sie uns zunächst einen Ordner im Docker-Container erstellen:

sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup

Kopieren Sie nun die .bak-Datenbankdatei in diesen Ordner:

sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup

Dieser Befehl geht davon aus, dass Sie sich im selben Verzeichnis wie die .bak-Datei befinden. Wenn nicht, wechseln Sie entweder zuerst mit in das Verzeichnis. Zum Beispiel:

cd Downloads

oder in welchem ​​Ordner es sich auch befindet.

Warum müssen wir die .bak-Datei kopieren?

Der Docker-Container hat sein eigenes Dateisystem und lebt irgendwie unabhängig vom Dateisystem Ihres Macs. Wenn Sie also versuchen, in SQLOPS (im nächsten Schritt) zur .bak-Datei zu navigieren, „stecken“ Sie im Dateisystem des Docker-Containers fest, ohne dass Sie auf die .bak-Datei im Dateisystem Ihres Mac zugreifen können. Daher kopieren wir die .bak-Datei zuerst in das Dateisystem des Containers, dann können wir über SQLOPS darauf zugreifen.

Datenbank wiederherstellen

OK, jetzt können wir den eigentlichen Datenbank-Wiederherstellungsprozess durchführen.

Bei den folgenden Schritten wird davon ausgegangen, dass Sie SQL Operations Studio bereits ausgeführt und bereits eine Verbindung zu SQL Server hergestellt haben.

  1. Klicken Sie im Server-Dashboard auf Wiederherstellen Taste
  2. Beim Wiederherstellen von wählen Sie Sicherungsdatei aus aus dem Dropdown-Menü
  3. Im Backup-Dateipfad Klicken Sie in der Überschrift auf die Auslassungspunkte ( )
  4. Navigieren Sie zum Ordner, wählen Sie die .bak-Datei aus und klicken Sie auf OK
  5. Klicken Sie auf Wiederherstellen
  6. Die Wiederherstellung kann ein oder zwei Minuten dauern. Der Aufgabenverlauf zeigt an, wann es fertig ist

Die Datenbank wurde nun wiederhergestellt.

Überprüfen Sie die Datenbank

Wahrscheinlich möchten Sie überprüfen, ob die Datenbank tatsächlich wiederhergestellt wurde. Eine Möglichkeit, dies zu tun, besteht darin, zur Datenbank zu navigieren und eine schnelle Abfrage auszuführen.

  1. Klicken Sie auf die Server Symbol (oben links auf dem Bildschirm)
  2. Die Datenbank sollte nun unter den Datenbanken aufgelistet sein Überschrift für den entsprechenden Server. Falls nicht, klicken Sie mit der rechten Maustaste auf Datenbanken und wählen Sie Aktualisieren
  3. Verwenden Sie die SQLOPS-Schnittstelle, um eine Abfrage für die Datenbank auszuführen. Klicken Sie beispielsweise mit der rechten Maustaste auf die Tabellen Knoten (nach dem Erweitern der Datenbank) und klicken Sie auf Top 1000 auswählen . Dadurch wird automatisch eine Abfrage für diese Tabelle ausgeführt, wobei nur die 1000 besten Ergebnisse ausgewählt werden