Freigeben über


Wiederherstellen des Azure PostgreSQL-Flexible-Servers als Dateien mithilfe des Azure-Portals

In diesem Artikel wird beschrieben, wie Sie einen Azure PostgreSQL-Flexible-Server als Dateien wiederherstellen, die mithilfe des Azure-Portals gesichert wurden.

Voraussetzungen

Bevor Sie aus Azure Database for PostgreSQL Flexible Server-Backups wiederherstellen, überprüfen Sie die folgenden Voraussetzungen:

  • Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen für den Wiederherstellungsvorgang verfügen.

  • Sicherungsdaten werden als Blob im Sicherungstresor innerhalb des Microsoft-Mandanten gespeichert. Während eines Wiederherstellungsvorgangs werden die Sicherungsdaten mandantenübergreifend von einem Speicherkonto in ein anderes kopiert. Stellen Sie sicher, dass beim Zielspeicherkonto für die Wiederherstellung die Eigenschaft AllowCrossTenantReplication auf true festgelegt ist.

  • Stellen Sie sicher, dass das Zielspeicherkonto für die Wiederherstellung der Sicherung als Datei über ein öffentliches Netzwerk zugänglich ist. Wenn das Speicherkonto einen privaten Endpunkt verwendet, aktualisieren Sie die Einstellungen für den Zugriff auf das öffentliche Netzwerk , bevor Sie einen Wiederherstellungsvorgang ausführen.

Wiederherstellen von Azure PostgreSQL – Flexiblen PostgreSQL-Server-Backups als Dateien

Hinweis

Wiederherstellungsvorgang ist ein zweistufiger Prozess:

  1. Stellen Sie die Sicherung aus dem Sicherungstresor in einem Speichercontainer wieder her.
  2. Stellen Sie die Sicherungsdateien aus dem Speichercontainer auf einem neuen oder vorhandenen flexiblen Server wieder her.

Gehen Sie folgendermaßen vor, um die Azure PostgreSQL-Flexible-Datenbank wiederherzustellen:

  1. Wechseln Sie zu Azure Backup-Tresor>Sicherungsinstanzen. Wählen Sie den PostgreSQL - Flexiblen Server aus, der wiederhergestellt werden soll, und wählen Sie "Wiederherstellen" aus.

    Navigieren Sie alternativ zum Backup Center, und wählen Sie Wiederherstellen aus.

  2. Wählen Sie Wiederherstellungspunkt auswählen aus, um den gewünschten Zeitpunkt für die Wiederherstellung auszuwählen. Ändern Sie den Datumsbereich, indem Sie Zeitraum auswählen.

  3. Wählen Sie auf der Registerkarte Wiederherstellungsparameter das Zielspeicherkonto und den Zielcontainer aus. Wählen Sie Überprüfen aus, um vor der endgültigen Überprüfung und Wiederherstellung die Berechtigungen der Wiederherstellungsparameter zu überprüfen.

  4. Wählen Sie nach erfolgreicher Überprüfung die Option Überprüfen und wiederherstellen aus.

  5. Wählen Sie nach der endgültigen Überprüfung der Parameter die Option Wiederherstellen aus, um die ausgewählte Sicherung des flexiblen PostgreSQL-Servers im Zielspeicherkonto wiederherzustellen.

  6. Übermitteln Sie den Wiederherstellungsvorgang, und verfolgen Sie den ausgelösten Auftrag unter Sicherungsaufträge nach.

Nachdem der Wiederherstellungsauftrag erfolgreich abgeschlossen wurde, wechseln Sie zum Speicherkontocontainer, um die wiederhergestellten Datenbanken als Dateien (.sql-Dateien) von Ihrem PostgreSQL – Flexiblen Server anzuzeigen. Azure Backup generiert auch die folgenden Sicherungsdateien:

  • Database.sql file pro Datenbank: Enthält Daten- und Schemainformationen für eine bestimmte Datenbank.

  • Roles.sql files für die gesamte Instanz: Enthält alle Rolleninformationen, die auf Serverebene vorhanden sind.

  • Tablespace.sql file: Tablespace-Datei.

  • Schema.sql file: Enthält Schemainformationen für alle Datenbanken auf dem Server.

    Hinweis

    Es wird empfohlen, dieses Skript nicht auf dem PostgreSQL -Flexiblen Server auszuführen, da das Schema bereits Teil des database.sql Skripts ist.

Wiederherstellung der Sicherungsdateien aus dem Speichercontainer auf einen neuen oder vorhandenen flexiblen PostgreSQL-Server.

Führen Sie die folgenden Schritte aus, um die Sicherungsdateien aus dem Speichercontainer auf einen neuen oder vorhandenen PostgreSQL-Server wiederherzustellen:

  1. Stellen Sie sicher, dass alle erforderlichen Erweiterungen auf dem neuen flexiblen Zielserver aktiviert sind .

  2. Stimmen Sie die Serverparameterwerte aus der Quell-PostgreSQL-Datenbank mit der Azure-Datenbank für PostgreSQL überein, indem Sie im Azure-Portal auf den Abschnitt "Serverparameter " zugreifen und die Werte manuell aktualisieren. Speichern Sie die Parameteränderungen, und starten Sie dann die Azure-Datenbank für PostgreSQL neu – flexibler Server, um die neue Konfiguration anzuwenden.

  3. Wenn die Microsoft Entra-Authentifizierung auf dem neuen Server erforderlich ist, aktivieren Sie sie, und erstellen Sie die relevanten Microsoft Entra-Administratoren.

  4. Erstellen Sie eine neue Datenbank für die Wiederherstellung.

    Hinweis

    Vor der Datenbankwiederherstellung müssen Sie eine neue, leere Datenbank erstellen. Stellen Sie sicher, dass Ihr Benutzerkonto über die CREATEDB Berechtigung verfügt.

    Verwenden Sie den CREATE DATABASE Database_name Befehl, um die Datenbank zu erstellen.

  5. Stellen Sie die Datenbank wieder her, indem Sie database.sql file als Zieladministratorbenutzer verwenden. 1.Nachdem die Zieldatenbank erstellt wurde, stellen Sie die Daten in dieser Datenbank (aus der Speicherabbilddatei) aus einem Azure-Speicherkonto wieder her, indem Sie den folgenden Befehl ausführen:

    az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> --no-owner -v – 
    
    • --account-name: Name des Zielspeicherkontos
    • --container-name: Name des Blobcontainers
    • --blob-name: Name des Blobs
    • --account-key: Speicherkontoschlüssel
    • -Fd: Das Verzeichnisformat.
    • -j: Die Anzahl der Aufträge.
    • -C: Starten der Ausgabe mit einem Befehl zum Erstellen der Datenbank selbst und dann zum erneuten Herstellen einer Verbindung mit ihr.

    Alternativ können Sie die Sicherungsdatei herunterladen und die Wiederherstellung direkt ausführen.

  6. Stellen Sie nur die erforderlichen Rollen und Berechtigungen wieder her, und ignorieren Sie die allgemeinen Fehler. Überspringen Sie diesen Schritt, wenn Sie die Wiederherstellung der Complianceanforderungen und des Datenabrufs als lokaler Administrator durchführen.

Wiederherstellen von Rollen und Benutzern für die wiederhergestellten Datenbanken

Gesicherte Backups werden in erster Linie aufgrund obligatorischer Complianceanforderungen, wie Tests und Audits, wiederhergestellt. Sie können sich als lokaler Administrator anmelden und mithilfe der Datei wiederherstellen. Für den database.sql Datenabruf sind keine anderen Rollen erforderlich.

Stellen Sie für andere Anwendungen wie versehentlichen Löschschutz oder Notfallwiederherstellung sicher, dass die erforderlichen Rollen gemäß den Anforderungen Ihrer Organisation erstellt werden. Vermeiden Sie Duplikate zwischen roles.sql und database.sql.

  • Wiederherstellen desselben flexiblen Servers: Die Rollenwiederherstellung ist möglicherweise nicht erforderlich.
  • Wiederherstellen auf einem anderen flexiblen Server: Verwenden Sie die roles.sql Datei, um die erforderlichen Rollen neu zu erstellen.

Bei der Wiederherstellung von roles.sql sind möglicherweise einige Rollen oder Attribute für den neuen Zielserver ungültig.

Für Umgebungen mit Superuser-Zugriff (lokal oder VMs) können Sie alle Befehle nahtlos ausführen.

Wichtige Überlegungen für das Szenario "Flexibler Server"

Dies sind die wichtigsten Überlegungen:

  • Entfernen Sie Superuser-Only Attribute: Auf flexiblem Server gibt es keine Superuser-Berechtigungen. Entfernen Sie also Attribute wie NOSUPERUSER und NOBYPASSRLS aus dem Rollenabbild.
  • Schließen Sie Service-Specific Benutzer aus: Benutzer ausschließen, die für flexible Serverdienste ( azure_su, azure_pg_admin, replication, localadmin) Entra Adminspezifisch sind. Diese spezifischen Dienstrollen werden automatisch neu erstellt, wenn Administratoren dem neuen flexiblen Server hinzugefügt werden.

Bevor Sie die Datenbankobjekte wiederherstellen, stellen Sie sicher, dass Sie die Rollen ordnungsgemäß dumpen und bereinigen. Um diese Aktion auszuführen, laden Sie das roles.sqlSkript aus Ihrem Speichercontainer herunter, und erstellen Sie alle erforderlichen Anmeldungen.

  • Erstellen von Nicht-Entra-Rollen: Verwenden Sie ein lokales Administratorkonto, um die Rollenerstellungsskripts auszuführen.
  • Erstellen von Microsoft Entra-Rollen: Wenn Sie Rollen für Microsoft Entra-Benutzer erstellen müssen, verwenden Sie ein Microsoft Entra-Administratorkonto, um die erforderlichen Skripts auszuführen.

Sie können das Rollenskript aus Ihrem Speicherkonto herunterladen, wie im folgenden Screenshot gezeigt:

Wenn Sie die Ausgabedatei migrieren, roles.sql können bestimmte Rollen und Attribute enthalten, die in der neuen Umgebung nicht anwendbar sind. Sie müssen Folgendes berücksichtigen:

  • Entfernen von Attributen, die nur von Superbenutzern festgelegt werden können: Wenn Sie zu einer Umgebung migrieren, in der Keine Superbenutzerberechtigungen vorhanden sind, entfernen Sie Attribute wie NOSUPERUSER und NOBYPASSRLS aus dem Rollenabbild.
  • Ausschließen von dienstspezifischen Benutzern: Ausschließen einzelner Serverdienstbenutzer, wie zum Beispiel azure_superuser oder azure_pg_admin. Diese sind spezifisch für den Dienst und werden automatisch in der neuen Umgebung erstellt.

Verwenden Sie den folgenden sed-Befehl, um die Rollensicherung zu bereinigen:

sed -i '/azure_superuser/d; /azure_pg_admin/d; /azuresu/d; /^CREATE ROLE replication/d; /^ALTER ROLE replication/d; /^ALTER ROLE/ {s/NOSUPERUSER//; s/NOBYPASSRLS//;}' roles.sql

Dieser Befehl löscht die Zeilen, die azure_superuser, azure_pg_admin, azuresu enthalten, die mit CREATE ROLE Replikation und ALTER ROLE Replikation beginnen, und entfernt die Attribute NOSUPERUSER und NOBYPASSRLS aus ALTER ROLE-Anweisungen.

Nächste Schritte

Verwalten Sie die Sicherung von Azure PostgreSQL – Flexibler Server mithilfe des Azure-Portals.