Freigeben über


Schnellstart: Wiederherstellen einer Datenbank in Azure SQL Managed Instance mit SSMS

Gilt für:Azure SQL Managed Instance

In dieser Schnellstartanleitung verwenden Sie SQL Server Management Studio (SSMS), um eine Datenbank aus Azure Blob Storage in Azure SQL Managed Instance wiederherzustellen. Die Schnellstartanleitung stellt die Beispieldatenbank für Wide World Importers aus einer öffentlich verfügbaren Sicherungsdatei mithilfe eines SAS-Schlüssels (Shared Access Signature) wieder her.

Hinweis

Voraussetzungen

In dieser Schnellstartanleitung gilt Folgendes:

Hinweis

Weitere Informationen zum Sichern und Wiederherstellen einer SQL Server-Datenbank mithilfe von Blob Storage und einem SAS-Schlüssel (Shared Access Signature) finden Sie unter SQL Server-Sicherung über URLs.

Verwenden Sie den Wiederherstellungsassistenten, um aus einer Sicherungsdatei wiederherzustellen.

Führen Sie in SSMS die Schritte in den folgenden Abschnitten aus, um die Wide World Importers-Datenbank mithilfe des Wiederherstellungs-Assistenten in einer SQL Managed Instance wiederherzustellen. Die Sicherungsdatei der Datenbank wird in einem vorkonfigurierten Blob-Speicherkonto gespeichert.

Öffnen Sie den Wiederherstellungsassistenten

  1. Öffnen Sie SSMS, und stellen Sie eine Verbindung mit Ihrer SQL Managed Instance her.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner "Datenbanken" Ihrer verwalteten SQL-Instanz, und wählen Sie dann " Datenbank wiederherstellen" aus, um den Wiederherstellungs-Assistenten zu öffnen.

    Screenshot: Objekt-Explorer in SSMS. Der Ordner „Databases“ ist ausgewählt. In seinem Kontextmenü ist „Datenbank wiederherstellen“ ausgewählt.

Auswählen der Sicherungsquelle

  1. Wählen Sie im Wiederherstellungs-Assistenten die Auslassungspunkte (...) aus, um die Quelle des Sicherungssatzes auszuwählen, der wiederhergestellt werden soll.

    Screenshot einer Seite im Assistenten

  2. Wählen Sie unter Sicherungsmedien auswählen die Option Hinzufügen aus. Unter Sicherungsmedientyp ist URL die einzige Option, die zur Verfügung steht, da dies der einzige unterstützte Quelltyp ist. Wählen Sie OK aus.

    Screenshot: Dialogfeld „Sicherungsgeräte auswählen“. Die Schaltflächen „Hinzufügen“ und „OK“ sind hervorgehoben.

  3. Wählen Sie unter Speicherort der Sicherungsdatei auswählen eine der drei Optionen aus, um Informationen über den Speicherort Ihrer Sicherungsdateien bereitzustellen:

    • Wählen Sie einen vorab registrierten Speichercontainer aus der Liste der Azure-Speichercontainer aus.
    • Geben Sie einen neuen Speichercontainer und eine SAS (Shared Access Signature) ein. Neue SQL-Anmeldeinformationen werden für Sie registriert.
    • Wählen Sie Hinzufügen aus, um weitere Speichercontainer aus Ihrem Azure-Abonnement zu durchsuchen.

    Screenshot: Dialogfeld „Speicherort der Sicherungsdatei auswählen“. Im Abschnitt „Azure-Speichercontainer“ ist „Hinzufügen“ ausgewählt.

    Wenn Sie Hinzufügen auswählen, fahren Sie mit dem nächsten Abschnitt Durchsuchen von Azure-Abonnementspeichercontainern fort. Wenn Sie eine andere Methode verwenden, um den Speicherort der Sicherungsdateien anzugeben, können Sie zu Wiederherstellen der Datenbank springen.

    Um die Wide World Importers-Beispieldatenbank aus einem öffentlich zugänglichen Nur-Lese-Speicher wiederherzustellen, geben Sie den Wert https://mitutorials.blob.core.windows.net/examples/ und für das Feld Shared Access Signature einen beliebigen Wert, z. B. SAS, ein.

    Screenshot des Dialogs „Speicherort der Sicherungsdatei“ auswählen. Der Speicherort des Beispielordners WideWorldImporters ist angegeben. Auswählen ist rot umrandet.

Durchsuchen von Azure-Abonnementspeichercontainern

Hinweis

Diese Schritte sind nicht erforderlich, um die WideWorldImporters Beispieldatenbank aus dem öffentlich zugänglichen schreibgeschützten Azure Blob Storage wiederherzustellen, aber zum Wiederherstellen von Datenbanken aus Ihrem eigenen Azure Blob Storage sind erforderlich.

  1. Wählen Sie unter Verbindung mit einem Microsoft-Abonnement herstellen die Option Anmelden aus, um sich bei Ihrem Azure-Abonnement anzumelden.

    Screenshot: Dialogfeld „Verbindung mit einem Microsoft-Abonnement herstellen“. Die Schaltfläche „Anmelden“ ist hervorgehoben.

  2. Melden Sie sich bei Ihrem Microsoft-Konto an, um die Sitzung in Azure zu initiieren.

    Screenshot: Dialogfeld „Bei Ihrem Konto anmelden“. Das Microsoft-Logo, ein Anmeldefeld und andere Elemente der Benutzeroberfläche werden angezeigt.

  3. Wählen Sie das Abonnement des Speicherkontos aus, das die Sicherungsdateien enthält.

    Screenshot: Dialogfeld „Herstellen einer Verbindung mit einem Microsoft-Abonnement“. Unter „Zu verwendendes Abonnement auswählen“, ist der Abwärtspfeil im Listenfeld hervorgehoben.

  4. Wählen Sie das Speicherkonto aus, das die Sicherungsdateien enthält.

    Screenshot: Dialogfeld „Herstellen einer Verbindung mit einem Microsoft-Abonnement“. Der Abwärtspfeil im Listenfeld „Speicherkonto auswählen“ ist hervorgehoben.

  5. Wählen Sie den Blobcontainer aus, der die Sicherungsdateien enthält.

    Screenshot: Dialogfeld „Herstellen einer Verbindung mit einem Microsoft-Abonnement“. Der Abwärtspfeil im Listenfeld „Blobcontainer auswählen“ ist hervorgehoben.

  6. Geben Sie das Ablaufdatum der SAS-Richtlinie ein, und wählen Sie Anmeldeinformationen erstellen aus. Eine SAS mit den richtigen Berechtigungen wird erstellt. Wählen Sie OK aus.

    Screenshot: Dialogfeld „Herstellen einer Verbindung mit einem Microsoft-Abonnement“. „Anmeldeinformation erstellen“, „OK“ und das Feld „Ablauf der Richtlinie für den gemeinsamen Zugriff“ sind hervorgehoben.

Wiederherstellen der Datenbank

Nachdem Sie jetzt einen Speichercontainer ausgewählt haben, sollten Sie das Dialogfeld Sicherungsdatei in Microsoft Azure suchen sehen.

  1. Erweitern Sie im linken Bereich die Ordnerstruktur, um den Ordner anzuzeigen, der die Sicherungsdateien enthält. Wählen Sie im rechten Bereich alle Sicherungsdateien aus, die sich auf die wiederherzustellende Sicherungsgruppe beziehen, und wählen Sie dann OK aus. Der folgende Screenshot zeigt beispielsweise den öffentlich zugänglichen schreibgeschützten Blobspeicher mit der WideWorldImporters Beispieldatenbank.

    Screenshot des Dialogs „Sicherungsdatei in Microsoft Azure suchen“. Die Sicherungsdatei WideWorldImporters-Standard.bak ist ausgewählt, und die Schaltfläche OK ist rot umrandet.

    SSMS überprüft den Sicherungssatz. Dieser Vorgang dauert höchstens ein paar Sekunden. Die Dauer hängt von der Größe des Sicherungssatzes ab.

  2. Wenn die Sicherung überprüft wird, müssen Sie einen Namen für die wiederherzustellende Datenbank angeben. Standardmäßig enthält das Feld Datenbank unter Ziel den Namen der Datenbank des Sicherungssatzes. Geben Sie einen neuen Namen für die Datenbank ein, um den Namen zu ändern. Wählen Sie OK aus.

    Screenshot einer Seite im Assistenten

    Der Wiederherstellungsvorgang wird gestartet. Die Dauer hängt von der Größe des Sicherungssatzes ab.

    Screenshot einer Seite im Assistenten

  3. Nach Abschluss des Vorgangs wird in einem Dialogfeld angezeigt, dass dieser erfolgreich war. Wählen Sie OK aus.

    Screenshot eines Dialogfelds über einer Seite im Assistenten

  4. Prüfen Sie im Objekt-Explorer, ob die wiederhergestellte Datenbank vorhanden ist, indem Sie Aktualisieren wählen.

    Screenshot: Objekt-Explorer mit hervorgehobener wiederhergestellter Datenbank

Verwenden von T-SQL zur Wiederherstellung aus einer Sicherungsdatei

Als Alternative zum Wiederherstellungs-Assistenten können Sie T-SQL-Anweisungen verwenden, um eine Datenbank wiederherzustellen. Führen Sie in SSMS die folgenden Schritte aus, um die Wide World Importers-Datenbank mithilfe von T-SQL in SQL Managed Instance wiederherzustellen. Die Sicherungsdatei der Datenbank wird in einem vorkonfigurierten Blob-Speicherkonto gespeichert.

  1. Öffnen Sie SSMS, und stellen Sie eine Verbindung mit Ihrer SQL Managed Instance her.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die verwaltete SQL-Instanz, und wählen Sie "Neue Abfrage " aus, um ein neues Abfragefenster zu öffnen.

  3. Führen Sie die folgende T-SQL-Anweisung aus, die öffentlich zugängliche vorkonfigurierte Speichercontainer und einen gemeinsamen Zugriffssignaturschlüssel verwendet, um ein Credential in Ihrer SQL Managed Instance zu erstellen.

    Wichtig

    • CREDENTIAL muss dem Containerpfad entsprechen, mit https beginnen und darf nicht mit einem Schrägstrich enden.
    • IDENTITY muss den Wert SHARED ACCESS SIGNATURE haben.
    • SECRET muss das Shared Access Signature-Token sein und darf kein vorangestelltes ? enthalten.
    • In diesem Beispiel wird SECRET weggelassen, da das Speicherkonto öffentlich verfügbar ist. Wenn Sie ein Speicherkonto verwenden, das nicht öffentlich verfügbar ist, müssen Sie ein Token für Shared Access Signature bereitstellen.
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE';
    

    Screenshot des SSMS-Abfrage-Editors. Die CREATE CREDENTIAL'-Anweisung ist sichtbar, und eine Meldung gibt an, dass die Abfrage erfolgreich ausgeführt wurde.

    Der Berechtigungspfad im vorherigen Beispiel ermöglicht den Zugriff auf eine einzelne Datei. Sie können auch ein Token für Shared Access Signature erstellen, z. B. für einen Ordnerpfad:

    CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = '<your shared access signature>'; -- omit the leading ?
    
  4. Um zu überprüfen, ob Ihre Anmeldeinformationen richtig funktionieren, führen Sie die folgende Anweisung aus, die eine URL verwendet, um eine Liste von Sicherungsdateien zu erhalten.

    RESTORE FILELISTONLY FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Screenshot: SSMS-Abfrage-Editor. Die Anweisung RESTORE FILELISTONLY wird angezeigt, und auf der Registerkarte „Ergebnisse“ sind drei Dateien aufgelistet.

  5. Führen Sie die folgende Anweisung aus, um die Beispieldatenbank Wide World Importers wiederherzustellen.

    RESTORE DATABASE [WideWorldImportersExample] FROM URL =
      'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Screenshot: SSMS-Abfrage-Editor. Die Anweisung RESTORE DATABASE wird angezeigt und eine Meldung weist darauf hin, dass die Abfrage erfolgreich ausgeführt wurde.

    Tipp

    Wenn Sie empfangen Error: 3201 oder Operating system error 86(The specified network password is not correct.), liegt dies wahrscheinlich daran, dass Ihre SAS-Anmeldeinformationen (die in vorherigen Schritten erstellt wurden) falsch erstellt wurden. DROP CREDENTIAL und neu erstellen, überprüfen Sie den Anmeldeinformationsnamen, die Identität und den geheimen Schlüssel.

  6. Führen Sie die folgende Anweisung aus, um den Status Ihres Wiederherstellungsvorgangs nachzuverfolgen.

    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete
       , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE');
    
  7. Wenn der Wiederherstellungsvorgang abgeschlossen ist, zeigen Sie die Datenbank im Objekt-Explorer an. Sie können überprüfen, ob die Datenbank wiederhergestellt wurde, indem Sie die Ansicht sys.dm_operation_status verwenden.

Hinweis

Der Vorgang der Datenbankwiederherstellung ist asynchron und wiederholbar. Sie erhalten möglicherweise eine Fehlermeldung in SSMS, wenn bei der Verbindung ein Fehler auftritt oder ein Timeout abläuft. SQL Managed Instance versucht weiterhin, die Datenbank im Hintergrund wiederherzustellen, und Sie können den Fortschritt des Wiederherstellungsvorgangs mithilfe der Ansichten sys.dm_exec_requests und sys.dm_operation_status nachverfolgen.

In einigen Phasen des Wiederherstellungsprozesses wird ein eindeutiger Bezeichner anstelle des tatsächlichen Datenbanknamens in den Systemansichten angezeigt. Informationen zu den Unterschieden im RESTORE-Anweisungsverhalten finden Sie unter Unterschiede bei T-SQL zwischen SQL Server und Azure SQL Managed Instance.