Wiederherstellen einer Datenbank aus Azure SQL Managed Instance in SQL Server 2022

Gilt für:Azure SQL Managed Instance

In diesem Artikel wird beschrieben, wie Sie eine Datenbanksicherung aus Azure SQL Managed Instance in SQL Server 2022 wiederherstellen.

Überblick

Die Datenbankformatausrichtung zwischen SQL Managed Instance und SQL Server 2022 bietet Ihnen eine einfache Möglichkeit, Datenbanken mit Enterprise-, Developer- oder Standard-Edition aus dem SQL Server zu kopieren oder zu verschieben, die lokal oder auf virtuellen Maschinen in Azure oder in anderen Clouds gehostet werden.

Das Wiederherstellen von Datenbanken von verwalteten Instanzen in SQL Server 2022 eröffnet die folgenden Szenarien:

  • Datenbankmobilität zwischen SQL Managed Instance und SQL Server-basierten Produkten
  • Bereitstellen von Datenbankkopien für Kund*innen und andere berechtigte Parteien
  • Aktualisieren von Umgebungen außerhalb von SQL Managed Instance

Die Möglichkeit, vollständige Kopiesicherungen von Datenbanken von SQL Managed Instance in SQL Server 2022 wiederherzustellen, ist standardmäßig in allen vorhandenen und neu bereitgestellten Instanzen verfügbar.

Wichtig

Die Möglichkeit, vollständige Kopiesicherungen von Datenbanken von SQL Managed Instance in SQL Server 2022 wiederherzustellen, ist bis zum Ende des Mainstream-Supports für SQL Server 2022 verfügbar.

Erstellen einer Sicherung in SQL Managed Instance

Erstellen Sie zunächst Anmeldeinformationen zum Zugreifen auf das Speicherkonto aus Ihrer Instanz und dann eine Kopiesicherung Ihrer Datenbank, und speichern Sie diese.

Sie können Ihre Anmeldeinformationen mithilfe einer verwalteten Identität oder eines SAS-Tokens (Shared Access Signature) erstellen.

Eine verwaltete Identität ist ein Feature von Microsoft Entra ID (früher Azure Active Directory), die Instanzen von Azure-Diensten, wie z. B. SQL Managed Instance, mit einer automatisch verwalteten Identität in Microsoft Entra ID, der vom System zugewiesenen verwalteten Identität, versorgt.

Sie können diese Identität verwenden, um Datenzugriffsanforderungen für andere Azure-Ressourcen (einschließlich Speicherkonten) zu autorisieren. Dienste wie Azure SQL Managed Instance verfügen über eine systemseitig zugewiesene verwaltete Identität und können auch eine oder mehrere benutzerseitig zugewiesene verwaltete Identitäten umfassen. Für die Autorisierung der Anforderungen können Sie entweder systemseitig oder benutzerseitig zugewiesene verwaltete Identitäten verwenden.

Bevor Azure Storage-Administrator*innen eine Sicherungsdatei in ein Speicherkonto schreiben können, müssen sie der verwalteten Identität die Berechtigung zum Schreiben von Daten erteilen. Die Erteilung von Berechtigungen für die verwaltete Identität der Instanz erfolgt auf dieselbe Weise wie die Erteilung von Berechtigungen für jeden anderen Microsoft Entra Benutzer. Beispiel:

  1. Wählen Sie im Azure-Portal im Bereich Zugriffssteuerung (IAM) eines Speicherkontos die Option Rollenzuweisung hinzufügen aus.

  2. Wählen Sie die Rolle Mitwirkender an Storage-Blobdaten aus, die in rollenbasierte Zugriffssteuerung von Azure (Role-Based Access Control, RBAC) integriert ist. Dadurch gewähren Sie Lese-/Schreibzugriff auf die verwaltete Identität für die erforderlichen Azure Blob Storage-Container.

    Anstatt der verwalteten Identität die Azure RBAC-Rolle „Mitwirkender an Storage-Blobdaten“ zuzuweisen, können Sie auch präzisere Berechtigungen erteilen. Weitere Informationen finden Sie unter Festlegen von ACLs in Azure Data Lake Storage Gen2.

  3. Wählen Sie auf der nächsten Seite unter Zugriff zuweisen zu die Option Verwaltete Identität aus.

  4. Wählen Sie Mitglieder auswählen und dann in der Dropdownliste Verwaltete Identität die entsprechende verwaltete Identität aus. Weitere Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

Das Erstellen von datenbankbezogenen Anmeldeinformationen für die Authentifizierung der verwalteten Identität ist nun problemlos möglich.

Im folgenden Beispiel ist Managed Identity eine hartcodierte Zeichenfolge. Sie müssen den generischen Speicherkontonamen durch den tatsächlichen Namen des Speicherkontos ersetzen:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>] 
WITH IDENTITY = 'MANAGED IDENTITY'  

Erstellen Sie als Nächstes eine COPY_ONLY-Sicherung Ihrer Datenbank durch Ausführen des folgenden T-SQL-Beispielbefehls:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY

Wiederherstellen auf SQL Server

Stellen Sie die Datenbank mithilfe der Option WITH MOVE des T-SQL-Befehls „RESTORE DATABASE“ und der Angabe expliziter Dateipfade für Ihre Dateien auf dem Zielserver in SQL Server wieder her.

Führen Sie den folgenden T-SQL-Beispielbefehl mit den für Ihre Umgebung geeigneten Dateipfaden aus, um Ihre Datenbank in SQL Server wiederherzustellen:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'

Hinweis

Zum Wiederherstellen von im Ruhezustand mit Transparent Data Encryption (TDE) verschlüsselten Datenbanken, muss die Zielinstanz von SQL Server Zugriff auf denselben Schlüssel haben, der zum Schutz der Quelldatenbank über den SQL Server-Connector für Azure Key Vault verwendet wurde. Ausführliche Informationen finden Sie unter Einrichten von SQL Server TDE mit AKV.

Überlegungen

Wenn Sie eine Datenbank in SQL Server wiederherstellen, sollten Sie Folgendes berücksichtigen:

  • Sie müssen den Qualifizierer WITH MOVE verwenden und explizite Pfade für die Datendateien angeben.
  • Datenbanken, die mit dienstseitig verwalteten TDE-Schlüsseln verschlüsselt sind, können nicht in SQL Server wiederhergestellt werden. Sie können eine verschlüsselte Datenbank nur dann in SQL Server wiederherstellen, wenn sie mit einem kundenseitig verwalteten Schlüssel verschlüsselt wurde und der Zielserver Zugriff auf denselben Schlüssel hat, der zum Verschlüsseln der Datenbank verwendet wurde. Weitere Informationen finden Sie unter Einrichten SQL Server-TDE mit Azure Key Vault.
  • In Zukunft werden einige Features in Azure SQL Managed Instance eingeführt, die Änderungen am Datenbankformat erfordern, sodass Sicherungen nicht mehr mit SQL Server 2022 kompatibel sind. Der Zugriff auf solche Features erfordert eine explizite Zustimmung.

Nächste Schritte