Freigeben über


Wiederherstellen einer Datenbank in einer verwalteten Azure SQL-Instanz auf den Zustand zu einem früheren Zeitpunkt

Gilt für:Azure SQL Managed Instance

In diesem Artikel erfahren Sie, wie Sie eine Point-in-Time-Wiederherstellung einer Datenbank in einer verwalteten Azure SQL-Instanz durchführen. Sie können die Zeitpunktwiederherstellung verwenden, um eine Datenbank zu einem bestimmten, früheren Zeitpunkt als Kopie einer Datenbank zu erstellen.

Übersicht

Die Point-in-Time-Wiederherstellung ist in Wiederherstellungsszenarien nützlich. Beispielsweise bei Vorfällen, die durch Fehler oder Fehler verursacht werden, oder wenn Daten nicht ordnungsgemäß geladen werden oder wichtige Daten gelöscht werden. Sie können sie auch einfach verwenden, um Ihre Datenbankbereitstellung zu testen und zu überwachen. Azure Backup-Dateien werden je nach Datenbankeinstellungen für einen Zeitraum zwischen sieben und 35 Tagen aufbewahrt.

Sie können die Zeitpunktwiederherstellung verwenden, um eine Datenbank in folgenden Szenarien wiederherzustellen:

  • Von einer bestehenden Datenbank
  • Aus einer gelöschten Datenbank
  • Zur gleichen SQL-verwalteten Instanz oder zu einer anderen verwalteten SQL-Instanz
  • Zu einer sql-verwalteten Instanz im selben Abonnement oder einer SQL-verwalteten Instanz in einem anderen Abonnement

Die folgende Tabelle enthält Point-in-Time-Wiederherstellungsszenarien für verwaltete SQL-Instanzen:

Szenario Azure-Portal Azure CLI PowerShell
Wiederherstellen einer vorhandenen Datenbank in derselben verwalteten SQL-Instanz Ja Ja Ja
Wiederherstellen einer vorhandenen Datenbank in einer anderen verwalteten SQL-Instanz Ja Ja Ja
Wiederherstellen einer gelöschten Datenbank in derselben sql-verwalteten Instanz Ja Ja Ja
Wiederherstellen einer gelöschten Datenbank in einer anderen sql-verwalteten Instanz Ja Ja Ja
Wiederherstellen einer vorhandenen Datenbank in einer sql-verwalteten Instanz in einem anderen Abonnement Ja Ja Ja
Wiederherstellen einer gelöschten Datenbank in einer sql-verwalteten Instanz in einem anderen Abonnement Ja Ja Ja

Berechtigungen

Um eine Datenbank wiederherzustellen, müssen Sie einen der folgenden Schritte ausführen:

Um eine Datenbank in einem anderen Zielabonnement wiederherzustellen, sollten Sie auch über die folgenden Berechtigungen verfügen, wenn Sie sich nicht in der Rolle "Mitwirkender der verwalteten SQL-Instanz " befinden:

  • Microsoft.Sql/managedInstances/databases/readBackups/action für die verwaltete SQL-Quellinstanz.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action für die verwaltete SQL-Zielinstanz.

Weitere Informationen finden Sie unter Integrierte Azure-Rollen.

Einschränkungen

Hinweis

Verwenden Sie die aktuelle Version des Create- oder Update-API-Aufrufs für alle Datenbankwiederherstellungsvorgänge.

Die folgenden Einschränkungen gelten für die Zeitpunktwiederherstellung in SQL Managed Instance:

  • Sie können die Zeitpunktwiederherstellung nicht dazu verwenden, eine vollständige SQL Managed Instance-Bereitstellung wiederherzustellen. Verwenden Sie die Point-in-Time-Wiederherstellung nur, um eine Kopie einer Datenbank zu erstellen, die in der verwalteten SQL-Instanz gehostet wird.

  • Einschränkungen bei der Point-in-Time-Wiederherstellung hängen davon ab, ob Sie Ihre Datenbank in einer SQL-verwalteten Instanz im selben Abonnement oder in einer SQL-verwalteten Instanz in einem anderen Abonnement wiederherstellen.

  • Wenn Dienstendpunktrichtlinien in der von Azure SQL verwalteten Instanz aktiviert sind, verhindert das Platzieren einer Dienstendpunktrichtlinie in einem Subnetz, dass Punkt-in-Time-Wiederherstellungen von Instanzen in verschiedenen Subnetzen entfernt werden.

Warnung

Beachten Sie die Speichergröße Ihrer verwalteten SQL-Instanz. Je nach Größe der wiederhergestellten Daten ist möglicherweise nicht mehr speicherbar für Ihre verwaltete SQL-Instanz. Wenn Sie nicht über genügend Speicherplatz in Ihrer sql-verwalteten Instanz für die wiederhergestellten Daten verfügen, verwenden Sie einen anderen Ansatz.

Wiederherstellen im selben Abonnement

Wenn Sie eine von SQL verwaltete Instanz in einer anderen sql-verwalteten Instanz im selben Azure-Abonnement wiederherstellen, müssen sich beide von SQL verwalteten Instanzen in derselben Region befinden. Eine regionsübergreifende Wiederherstellung wird derzeit nicht unterstützt.

Wiederherstellung in einem anderen Abonnement

Das Wiederherstellen einer Point-in-Time-Sicherung in Abonnements hat die folgenden Einschränkungen:

  • Beide Abonnements müssen sich in derselben Region befinden.

  • Beide Abonnements müssen sich im selben Mandanten befinden.

  • Der Abonnementtyp muss entweder Enterprise Agreement, Cloud Solution Provider, Microsoft Certified Partner oder nutzungsbasierte Bezahlung sein.

  • Sie können die Wiederherstellungsaktion nur für die primäre Instanz verwenden.

  • Sie können eine Sicherung nur aus der primären Region wiederherstellen. Das Wiederherstellen einer Datenbank aus der georeplizierten sekundären Region wird für die zeitübergreifende Point-in-Time-Wiederherstellung nicht unterstützt.

  • Der Benutzer, der die Wiederherstellungsaktion ausführt, muss entweder über die Rollenzuweisung für mitwirkende SQL-Instanz oder über die folgenden expliziten Berechtigungen verfügen:

    • Microsoft.Sql/managedInstances/databases/readBackups/action für die verwaltete SQL-Quellinstanz.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action für die verwaltete SQL-Zielinstanz.
  • Wenn Sie einen eigenen Schlüssel verwenden (Bring Your Own Key, BYOK), muss der Schlüssel in beiden Abonnements vorhanden sein.

Wiederherstellen einer vorhandenen Datenbank

Sie können eine vorhandene Datenbank über das Azure-Portal, mit PowerShell oder mit der Azure-Befehlszeilenschnittstelle im selben Abonnement wiederhergestellt werden. Wenn Sie die Wiederherstellung auf einer anderen Instanz im selben Abonnement und mit PowerShell oder der Azure-Befehlszeilenschnittstelle durchführen, müssen Sie die Eigenschaften für Zielinstanz von SQL Managed Instance angeben. Die Datenbank wird standardmäßig in derselben Instanz wiederhergestellt.

Wenn Sie ein anderes Abonnement wiederherstellen, muss der API-Aufruf "Create or Update v5.0.2022" oder höher , der der Wiederherstellungsaktion zugrunde liegt, die folgenden Werte enthalten:

  • restorePointInTime
  • crossSubscriptionTargetManagedInstanceId
  • Und entweder crossSubscriptionSourceDatabaseId oder crossSubscriptionRestorableDroppedDatabaseId.

Um eine vorhandene Datenbank wiederherzustellen, wechseln Sie zur Datenbankseite im Azure-Portal und wählen Sie Wiederherstellen aus.

Alternativ zum Wiederherstellen Ihrer Datenbank können Sie die folgenden Schritte ausführen:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wechseln Sie zu dem Ziel „SQL Managed Instance“, in dem Sie ihre Datenbank wiederherstellen möchten.

  3. Wählen Sie auf der Seite Übersicht die Option + Neue Datenbank, um die Seite Azure SQL verwaltete Datenbank erstellen zu öffnen.

    Screenshot des Bereichs „Übersicht“ von SQL Managed Instance im Azure-Portal, wobei das Hinzufügen einer neuen Datenbank ausgewählt ist.

  4. Geben Sie auf der Registerkarte " Grundlagen " auf der Seite "Verwaltete Azure SQL-Datenbank erstellen" unter "Projektdetails" Abonnement- und Ressourcengruppendetails an. Geben Sie dann unter Datenbankdetails den neuen Namen der Datenbank an, die Sie wiederherstellen möchten. Vergewissern Sie sich, dass die richtige sql-verwaltete Instanz in der Dropdownliste aufgeführt ist. Wählen Sie dann Weiter: Datenquelle> aus.

    Screenshot des Azure-Portals mit der Registerkarte „Grundlagen“ der Seite „Azure SQL verwaltete Datenbank erstellen“.

  5. Wählen Sie auf der Registerkarte Datenquelle unter Vorhandene Daten verwenden die Option Point-in-Time-Wiederherstellung aus. Stellen Sie das Abonnement, die Ressourcengruppe und die verwaltete SQL-Instanz bereit, die die Quelldatenbank enthält. Wählen Sie in der Dropdownliste "Verwaltete Datenbank " die Datenbank aus, aus der Sie wiederherstellen möchten, und wählen Sie dann den Zeitpunkt aus, aus dem Sie die Datenbank wiederherstellen möchten. Die Quell- und Zielinstanz können identisch oder zwei verschiedene Instanzen sein. Wählen Sie Weiter: Zusätzliche Einstellungen>aus.

    Screenshot des Azure-Portals, der die Registerkarte „Datenquelle“ auf der Seite „Azure SQL verwaltete Datenbank erstellen“ mit ausgewählter zeitpunktbezogener Wiederherstellung zeigt.

  6. Auf der Registerkarte Zusätzliche Einstellungen können Sie das Kontrollkästchen aktivieren, um die Aufbewahrungsrichtlinie aus der Quelldatenbank zu erben, oder alternativ können Sie Aufbewahrung konfigurieren auswählen, um die Seite Richtlinien konfigurieren zu öffnen und die gewünschten Aufbewahrungsrichtlinien für Ihre wiederhergestellte Datenbank festzulegen. Wenn Sie fertig sind, wählen Sie Überprüfen und erstellen aus.

    Screenshot des Azure-Portals mit der Registerkarte

  7. Wählen Sie unter Überprüfen + erstellen die Option Erstellen aus, um Ihre Datenbank wiederherzustellen, wenn die Überprüfung erfolgreich ist.

Daraufhin wird der Wiederherstellungsprozess gestartet. Hierbei wird eine neue Datenbank erstellt und mit Daten aus der ursprünglichen Datenbank zum angegebenen Zeitpunkt aufgefüllt. Weitere Informationen zum Wiederherstellungsprozess finden Sie unter Wiederherstellungszeit.

Wiederherstellen einer gelöschten Datenbank

Sie können eine gelöschte Datenbank mithilfe des Azure-Portals, Azure PowerShell oder der Azure CLI wiederherstellen.

So stellen Sie eine gelöschte SQL-verwaltete Datenbank mithilfe des Azure-Portals wieder her:

  1. Wechseln Sie im Azure-Portal zu Ihrer sql-quellverwalteten Instanz.

  2. Wählen Sie im Menü auf der linken Seite unter Datenverwaltung die Option Sicherungen aus.

  3. Wählen Sie unter Datenbanken anzeigen die Option Gelöscht aus.

  4. Wählen Sie für die wiederherzustellende Datenbank Wiederherstellen aus.

    Screenshot der verfügbaren Datenbanken im Portal mit hervorgehobener Schaltfläche „Wiederherstellen“ zum Wiederherstellen einer gelöschten Datenbank

  5. Geben Sie in "Azure SQL Managed Database erstellen" Details für die von SQL verwaltete Zielinstanz ein, um Ihre Datenbank wiederherzustellen, oder wählen Sie sie aus. Wählen Sie die Registerkarte Datenquelle aus.

  6. Geben Sie unter Datenquelle Details zu Ihrer Quelldatenbank ein, oder wählen Sie sie aus. Wählen Sie die Registerkarte Zusätzliche Einstellungen aus.

  7. Konfigurieren Sie unter Zusätzliche Einstellungen Aufbewahrungseinstellungen. Wählen Sie die Registerkarte Überprüfen + erstellen aus.

  8. Wählen Sie unter Überprüfen + erstellen die Option Erstellen aus, um die gelöschte Datenbank wiederherzustellen.

Überschreiben einer vorhandenen Datenbank

Um eine vorhandene Datenbank zu überschreiben, müssen Sie die folgenden Aktionen ausführen:

  1. Löschen Sie die vorhandene Datenbank, die Sie überschreiben möchten.
  2. Ändern Sie den Namen der mittels Zeitpunktwiederherstellung wiederhergestellten Datenbank in den Namen der gelöschten Datenbank.

Löschen der ursprünglichen Datenbank

Sie können die Datenbank über das Azure-Portal, über PowerShell oder über T-SQL löschen.

Eine weitere Möglichkeit zum Ablegen der Datenbank besteht darin, eine direkte Verbindung mit Ihrer SQL-verwalteten Instanz in SQL Server Management Studio (SSMS) herzustellen und dann den BEFEHL DROP Transact-SQL (T-SQL) zu verwenden:

DROP DATABASE WorldWideImporters;

Verwenden Sie eine der folgenden Methoden, um eine Verbindung mit der Datenbank in Ihrer verwalteten SQL-Instanz herzustellen:

  1. Wählen Sie im Azure-Portal die Datenbank in Ihrer sql-verwalteten Instanz aus.

  2. Wählen Sie auf der Befehlsleiste Löschen aus.

    Screenshot des Löschens einer Datenbank über das Azure-Portal

Ändern des Namens der neuen Datenbank, damit sie mit dem ursprünglichen Datenbanknamen übereinstimmt

Verwenden Sie SQL Server Management Studio (SSMS), um eine direkte Verbindung mit Ihrer verwalteten SQL-Instanz herzustellen. Führen Sie dann die folgende T-SQL-Abfrage aus. Die Abfrage ändert den Namen der wiederhergestellten Datenbank in den Namen der gelöschten Datenbank, die Sie überschreiben möchten.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Verwenden Sie eine der folgenden Methoden, um eine Verbindung mit der Datenbank in Ihrer verwalteten SQL-Instanz herzustellen:

Nächster Schritt