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. Der Schnellstart stellt die Beispieldatenbank des Wide World Importers aus einer öffentlich zugänglichen Sicherungsdatei mit Hilfe eines SAS 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 des Wiederherstellungs-Assistenten zum Wiederherstellen aus einer Sicherungsdatei

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

Öffnen des Wiederherstellungs-Assistenten

  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 Databases der SQL Managed Instance und wählen Sie 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 wiederherzustellenden Sicherungssatzes auszuwählen.

    Screenshot: Seite im Wiederherstellungs-Assistenten. Im Abschnitt „Quelle“ ist „Gerät“ ausgewählt, und die Auslassungspunkte sind hervorgehoben.

  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 notwendig, um die WideWorldImporters-Beispieldatenbank aus dem öffentlich zugänglichen schreibgeschützten Azure Blob Storage wiederherzustellen, aber sie sind notwendig, um Datenbanken aus Ihrem eigenen Azure Blob Storage wiederherzustellen.

  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. Klicken Sie auf OK.

    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 zum Beispiel den öffentlich zugänglichen schreibgeschützten Blob Storage, der die WideWorldImporters-Beispieldatenbank enthält.

    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. Klicken Sie auf OK.

    Screenshot: Seite des Wiederherstellungs-Assistenten. Im Abschnitt „Ziel“ wird das Feld „Datenbank“ hervorgehoben. Die Schaltfläche „OK“ ist ebenfalls hervorgehoben.

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

    Screenshot: Seite im Wiederherstellungs-Assistenten. Es wird eine Statusanzeige hervorgehoben.

  3. Nach Abschluss des Vorgangs wird in einem Dialogfeld angezeigt, dass dieser erfolgreich war. Klicken Sie auf OK.

    Screenshot: Dialogfeld zu einer Seite des Wiederherstellungs-Assistenten. Eine Meldung im Dialogfeld zeigt an, dass die Datenbank erfolgreich wiederhergestellt wurde.

  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

Alternativ zum Wiederherstellungs-Assistenten können Sie auch 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 Ihre SQL Managed Instance 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: SSMS-Abfrage-Editor. Die Anweisung CREATE CREDENTIAL wird angezeigt und eine Meldung weist darauf hin, 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 Error: 3201 oder Operating system error 86(The specified network password is not correct.) erhalten, ist es wahrscheinlich, dass Ihre SAS-Anmeldedaten (in vorherigen Schritten erstellt) 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.