Freigeben über


Tutorial: Onlinemigration von PostgreSQL zu Azure Database for PostgreSQL mittels DMS (klassisch) über die Azure CLI

Wichtig

Es wird empfohlen, den neuen Migrationsdienst in Azure Database für PostgreSQL für eine optimierte und effizientere Migrationserfahrung zu verwenden. Dieser Dienst vereinfacht den Prozess, indem mehrere Quellumgebungen unterstützt werden, wodurch ein problemloser Übergang zu Azure Database for PostgreSQL sichergestellt wird.

Sie können den Azure Database Migration Service (DMS) verwenden, um die Datenbanken von einer lokalen PostgreSQL-Instanz zu Azure Database for PostgreSQL mit minimalen Ausfallzeiten zu migrieren. Somit kommt es bei der Migration nur zu einer geringen Ausfallzeit für die Anwendung. In diesem Tutorial migrieren Sie die Beispieldatenbank DVD Rental von einer lokalen Instanz von PostgreSQL 9.6 zu Azure Database for PostgreSQL. Zu diesem Zweck verwenden Sie die Onlinemigrationsaktivität in Azure Database Migration Service.

In diesem Tutorial lernen Sie Folgendes:

  • Migrieren des Beispielschemas mit dem Hilfsprogramm pg_dump
  • Erstellen einer Instanz von Azure Database Migration Service
  • Erstellen Sie ein Migrationsprojekt mithilfe von Azure Database Migration Service.
  • Ausführen der Migration
  • Überwachen der Migration

Die Verwendung von Azure Database Migration Service zum Ausführen einer Onlinemigration erfordert das Erstellen einer Instanz auf der Grundlage des Premium-Tarifs. Wir verschlüsseln den Datenträger, um Datendiebstahl während der Migration zu verhindern.

Wichtig

Für eine optimale Migration empfiehlt Microsoft die Erstellung einer Azure Database Migration Service-Instanz in derselben Azure-Region, in der sich auch die Zieldatenbank befindet. Die Verschiebung von Daten zwischen Regionen oder Geografien kann den Migrationsvorgang verlangsamen und Fehler verursachen.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Laden Sie die PostgreSQL Community Edition 9.4, 9.5, 9.6 oder 10 herunter und installieren Sie sie. Die PostgreSQL-Version des Quellservers muss 9.4, 9.5, 9.6, 10, 11, 12 oder 13 sein. Weitere Informationen finden Sie unter Unterstützte PostgreSQL-Datenbankversionen.

    Die Azure Database for PostgreSQL-Zielversion muss höher als die lokale PostgreSQL-Version sein oder dieser entsprechen. Beispiel: PostgreSQL 9.6 kann nur zu Azure Database for PostgreSQL 9.6, 10 oder 11 migriert werden, nicht aber zu Azure Database for PostgreSQL 9.5.

  • Erstellen einer Instanz für Azure Database for PostgreSQL - Flexibler Server.

  • Erstellen Sie ein virtuelles Microsoft Azure-Netzwerk für den Azure-Datenbankmigrationsdienst mithilfe des Azure Resource Manager-Bereitstellungsmodells, das Standort-zu-Standort-Konnektivität mit Ihren lokalen Quellservern mithilfe von ExpressRoute oder VPN bereitstellt. Weitere Informationen zum Erstellen eines virtuellen Netzwerks finden Sie in der Dokumentation zum virtuellen Netzwerk und insbesondere in den Schnellstartartikeln mit schrittweisen Details.

    Wenn Sie ExpressRoute beim Einrichten des virtuellen Netzwerks mit Netzwerk-Peering zu Microsoft verwenden, fügen Sie dem Subnetz, in dem der Dienst bereitgestellt wird, die folgenden Dienstendpunkte hinzu:

    • Zieldatenbankendpunkt (z. B. SQL-Endpunkt, Azure Cosmos DB-Endpunkt usw.)
    • Speicherendpunkt
    • Service Bus-Endpunkt

    Diese Konfiguration ist erforderlich, weil Azure Database Migration Service über keine Internetverbindung verfügt.

  • Stellen Sie sicher, dass die NSG-Regeln (Netzwerksicherheitsgruppen) des virtuellen Netzwerks nicht den ausgehenden Port 443 von ServiceTag für ServiceBus, Storage und AzureMonitor blockieren. Weitere Details zur NSG-Datenverkehrsfilterung für virtuelle Netzwerke finden Sie im Artikel "Filtern des Netzwerkdatenverkehrs mit Netzwerksicherheitsgruppen".

  • Konfigurieren Sie Ihre Windows-Firewall für den Datenbankmodulzugriff.

  • Öffnen Sie Ihre Windows-Firewall, damit Azure Database Migration Service auf die PostgreSQL Server-Quellinstanz zugreifen kann (standardmäßig TCP-Port 5432).

  • Wenn Sie eine Firewall-Appliance vor Ihren Quelldatenbanken verwenden, müssen Sie möglicherweise Firewall-Regeln hinzufügen, um Azure Database Migration Service für die Migration den Zugriff auf die Quelldatenbanken zu erlauben.

  • Erstellen Sie eine Firewallregel auf Serverebene für Azure Database for PostgreSQL, damit Azure Database Migration Service auf die Zieldatenbanken zugreifen kann. Geben Sie den Subnetzbereich des für Azure Database Migration Service verwendeten virtuellen Netzwerks an.

  • Es gibt zwei Methoden zum Aufrufen der CLI:

    • Wählen Sie im Azure-Portal rechts oben die Cloud Shell-Schaltfläche aus:

      Screenshot der Schaltfläche

    • Installieren Sie die CLI lokal, und führen Sie sie aus. Für die Verwaltung der für diese Migration erforderlichen Azure-Ressourcen ist die Befehlszeilenschnittstelle in der Version CLI 2.18 oder höher erforderlich.

      Um die CLI herunterzuladen, befolgen Sie die Anweisungen im Artikel Installieren von Azure CLI. In dem Artikel werden außerdem die Plattformen aufgelistet, die Azure CLI unterstützen.

      Befolgen Sie zum Einrichten des Windows-Subsystems für Linux (WSL) die Anweisungen im Windows 10-Installationshandbuch.

  • Aktivieren Sie die logische Replikation auf dem Quellserver, indem Sie die postgresql.config-Datei bearbeiten und die folgenden Parameter festlegen:

    • wal_level = logical
    • max_replication_slots = [Anzahl der Slots]. Die empfohlene Einstellung ist 5 Slots.
    • max_wal_senders = [Anzahl gleichzeitiger Aufgaben]. Der max_wal_senders-Parameter legt die Anzahl gleichzeitiger Aufgaben fest, die ausgeführt werden können. Die empfohlene Einstellung ist 10 Tasks.

Migrieren des Beispielschemas

Zum Fertigstellen aller Datenbankobjekte wie Tabellenschemas, Indizes und gespeicherter Prozeduren muss das Schema aus der Quelldatenbank extrahiert und auf die Datenbank angewendet werden.

  1. Verwenden Sie pg_dump -s den Befehl zum Erstellen einer Schemaabbilddatei für eine Datenbank.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Geben Sie beispielsweise Folgendes ein, um eine Schemadatei-dvdrental-Datenbank zu sichern:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    

    Weitere Informationen zur Verwendung des hilfsprogramms pg_dump finden Sie in den Beispielen im pg-dump-Lernprogramm .

  2. Erstellen Sie eine leere Datenbank in der Zielumgebung, Azure Database for PostgreSQL - Flexibler Server.

  3. Importieren Sie das Schema in die Zieldatenbank, die Sie erstellt haben, indem Sie die Schemasicherungsdatei wiederherstellen.

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Beispiel:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

    Hinweis

    Der Migrationsdienst verarbeitet intern die Aktivierung und Deaktivierung von Fremdschlüsseln und Triggern, um eine zuverlässige und robuste Datenmigration sicherzustellen. Daher müssen Sie sich keine Gedanken über Änderungen am Schema der Zieldatenbank machen.

Bereitstellung einer DMS-Instanz mithilfe der Azure CLI

  1. Installieren der DMS-Synchronisierungserweiterung:

    • Melden Sie sich mithilfe des folgenden Befehls bei Azure an:

      az login
      
    • Wenn Sie aufgefordert werden, öffnen Sie einen Webbrowser, und geben Sie einen Code ein, um Ihr Gerät zu authentifizieren. Befolgen Sie die Anweisungen gemäß der Auflistung.

    • Die PostgreSQL-Onlinemigration ist jetzt im regulären CLI-Paket (Version 2.18.0 und höher) verfügbar, ohne dass die dms-preview-Erweiterung erforderlich ist. Wenn Sie diese Erweiterung in der Vergangenheit installiert haben, können Sie sie wie folgt entfernen:

      • Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die dms-preview-Erweiterung bereits installiert ist:

        az extension list -o table
        
      • Wenn die dms-preview-Erweiterung installiert ist, führen Sie den folgenden Befehl aus, um sie zu deinstallieren:

        az extension remove --name dms-preview
        
      • Um zu überprüfen, ob Sie die dms-preview-Erweiterung ordnungsgemäß deinstalliert haben, führen Sie den folgenden Befehl aus. Die dms-preview-Erweiterung sollte nicht mehr in der Liste angezeigt werden:

        az extension list -o table
        

      Wichtig

      Die dms-preview-Erweiterung ist möglicherweise weiterhin für andere Migrationspfade erforderlich, die von Azure DMS unterstützt werden. Überprüfen Sie die Dokumentation eines bestimmten Migrationspfads, um festzustellen, ob die Erweiterung erforderlich ist. Diese Dokumentation beinhaltet die Erweiterungsanforderung, die für die Online-Migration von PostgreSQL zu Azure Database for PostgreSQL erforderlich ist.

    • Jederzeit können Sie alle in DMS unterstützten Befehle anzeigen, indem Sie Folgendes ausführen:

      az dms -h
      
    • Wenn Sie über mehrere Azure-Abonnements verfügen, führen Sie den folgenden Befehl aus, um das Abonnement festzulegen, mit dem Sie eine Instanz des DMS-Diensts bereitstellen möchten.

      az account set -s <SubscriptionID>
      
  2. Stellen Sie eine Instanz von DMS bereit, indem Sie den folgenden Befehl ausführen:

    az dms create -l <location> -n <newServiceName> -g <yourResourceGroupName> --sku-name Premium_4vCores --subnet/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Network/virtualNetworks/<VirtualNetwork>/subnets/<SubnetName> –tags tagName1=tagValue1 tagWithNoValue
    

    Beispielsweise erstellt der folgender Befehl einen Dienst. Ersetzen Sie <SubscriptionID>, <ResourceGroupName> und <VirtualNetwork> mit gültigen Werten.

    • Standort: Ost-US2
    • Abonnement: <SubscriptionID>
    • Ressourcengruppenname: <ResourceGroupName>
    • DMS-Dienstname: PostgresCLI
    az dms create -l eastus2 -g <ResourceGroupName> -n PostgresCLI --subnet /subscriptions/<SubscriptionID>/resourceGroups/ERNetwork/providers/Microsoft.Network/virtualNetworks/<VirtualNetwork>/subnets/Subnet-1 --sku-name Premium_4vCores
    

    Es dauert ungefähr 10 Minuten, um die Instanz des DMS-Diensts zu erstellen.

  3. Um die IP-Adresse des DMS-Agent zu identifizieren, damit Sie ihn der Postgres-Datei „pg_hba.conf“ hinzufügen können, führen Sie den folgenden Befehl aus:

    az network nic list -g <ResourceGroupName> --query '[].ipConfigurations | [].privateIpAddress'
    

    Beispiel:

    az network nic list -g <resource-group> --query '[].ipConfigurations | [].privateIpAddress'
    

    Das Ergebnis sollte in etwa der folgenden Adresse entsprechen:

    [
      "172.16.136.18"
    ]
    
  4. Fügen Sie die IP-Adresse des DMS-Agent der Postgres-Datei „pg_hba.conf“ hinzu.

    • Notieren Sie sich die DMS-IP-Adresse nach Abschluss der Bereitstellung in DMS.

    • Fügen Sie die IP-Adresse der Datei „pg_hba.conf“ auf dem Quellcomputer ähnlich dem folgenden Eintrag hinzu:

      host     all            all        172.16.136.18/10    md5
      host     replication    postgres   172.16.136.18/10    md5
      
  5. Erstellen Sie als Nächstes ein PostgreSQL-Migrationsprojekt mithilfe des folgenden Befehls:

    az dms project create -l <location> -g <ResourceGroupName> --service-name <yourServiceName> --source-platform PostgreSQL --target-platform AzureDbforPostgreSQL -n <newProjectName>
    

    Der folgende Befehl erstellt z.B. ein Projekt mit folgenden Parametern:

    • Standort: West Central US
    • Ressourcengruppenname: <ResourceGroupName>
    • Dienstname: PostgresCLI
    • Projektname: PGMigration
    • Quellplattform: PostgreSQL
    • Zielplattform: AzureDbForPostgreSql
    az dms project create -l westcentralus -n PGMigration -g <ResourceGroupName> --service-name PostgresCLI --source-platform PostgreSQL --target-platform AzureDbForPostgreSql
    
  6. Erstellen Sie mit den folgenden Schritten eine PostgreSQL-Migrationsaufgabe.

    Dieser Schritt umfasst die Quell-IP, Benutzer-ID und Kennwort, Ziel-IP, Benutzer-ID, Kennwort und Aufgabentyp, um eine Verbindung herzustellen.

    • Um eine vollständige Liste der Optionen anzuzeigen, führen Sie diesen Befehl aus:

      az dms project task create -h
      

      Sowohl für die Quell- als auch Zielverbindung verweist der Eingabeparameter auf eine JSON-Datei, die die Objektliste enthält.

      Das Format des JSON-Verbindungsobjekts für PostgreSQL-Verbindungen.

      {
          // if this is missing or null, you will be prompted
          "userName": "user name",
          // if this is missing or null (highly recommended) you will  be prompted
          "password": null,
          "serverName": "server name",
          // if this is missing, it will default to the 'postgres' database
          "databaseName": "database name",
          // if this is missing, it will default to 5432
          "port": 5432
      }
      

      Es gibt auch eine Datenbankoptions-JSON-Datei, die die JSON-Objekte auflistet. Für PostgreSQL ist das Format des Datenbankoptions-JSON-Objekts wie im Folgenden dargestellt:

      [
          {
              "name": "source database",
              "target_database_name": "target database",
              "selectedTables": [
                  "schemaName1.tableName1",
                  ...n
              ]
          },
          ...n
      ]
      
    • Um die Quellverbindungs-JSON zu erstellen, öffnen Sie den Editor, kopieren Sie den folgenden JSON-Code, und fügen Sie ihn in die Datei ein. Speichern Sie die Datei unter C:\DMS\source.json, nachdem Sie sie entsprechend Ihres Quellservers angepasst haben.

      {
          "userName": "postgres",
          "password": null,
          "serverName": "13.51.14.222",
          "databaseName": "dvdrental",
          "port": 5432
      }
      
    • Um die Zielverbindungs-JSON zu erstellen, öffnen Sie den Editor, kopieren Sie den folgenden JSON-Code, und fügen Sie ihn in die Datei ein. Speichern Sie die Datei unter C:\DMS\target.json, nachdem Sie sie entsprechend Ihres Zielservers angepasst haben.

      {
          "userName": " dms@builddemotarget",
          "password": null,
          "serverName": " builddemotarget.postgres.database.azure.com",
          "databaseName": "inventory",
          "port": 5432
      }
      
    • Erstellen Sie eine Datenbankoptions-JSON-Datei, in der der Bestand und die Zuordnung der zu migrierenden Datenbanken aufgeführt ist:

      • Erstellen Sie eine Liste der zu migrierenden Tabellen, oder verwenden Sie eine SQL-Abfrage, um die Liste aus der Quelldatenbank zu generieren. Hier ist eine Beispielabfrage zum Generieren der Liste der Tabellen. Denken Sie beim Verwenden dieser Abfrage daran, das letzte Komma am Ende des letzten Tabellennamens zu entfernen, damit sie zu einem gültigen JSON-Array wird.

        SELECT FORMAT('%s,', REPLACE(FORMAT('%I.%I', schemaname, tablename), '"', '\"')) AS SelectedTables
        FROM pg_tables
        WHERE schemaname NOT IN ('pg_catalog', 'information_schema');
        
      • Erstellen Sie die Datenbankoptions-JSON-Datei mit einem Eintrag für jede Datenbank, der den Namen der Quell- und Zieldatenbank sowie eine Liste der ausgewählten zu migrierenden Tabellen enthält. Sie können die Ausgabe der vorherigen SQL-Abfrage verwenden, um das Array selectedTables (ausgewählte Tabellen) aufzufüllen.

        Hinweis

        Wenn die Liste der ausgewählten Tabellen leer ist, enthält der Dienst alle Tabellen für die Migration mit übereinstimmenden Schema- und Tabellennamen.

        [
            {
                "name": "dvdrental",
                "target_database_name": "dvdrental",
                "selectedTables": [
                    "schemaName1.tableName1",
                    "schemaName1.tableName2",
                    ...
                    "schemaNameN.tableNameM"
                ]
            },
            ... n
        ]
        
    • Führen Sie den folgenden Befehl aus, der die Quellverbindung, die Zielverbindung und die Datenbankoptions-JSON-Dateien aufnimmt.

      az dms project task create -g <ResourceGroupName> --project-name PGMigration --source-connection-json c:\DMS\source.json --database-options-json C:\DMS\option.json --service-name PostgresCLI --target-connection-json c:\DMS\target.json --task-type OnlineMigration -n runnowtask
      

    An diesem Punkt haben Sie erfolgreich eine Migrationsaufgabe gesendet.

  7. Um den Fortschritt der Aufgabe anzuzeigen, führen Sie den folgenden Befehl aus.

    • Um den allgemeinen Taskstatus als Kurzversion anzuzeigen:

      az dms project task show --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask
      
    • Um den detaillierten Taskstatus einschließlich der Informationen zum Migrationsfortschritt anzuzeigen:

      az dms project task show --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask --expand output
      
    • Sie können auch das JMESPath-Abfrageformat verwenden, um nur die migrationState aus der erweiterten Ausgabe zu extrahieren:

      az dms project task show --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask --expand output --query 'properties.output[].migrationState'
      

      In der Ausgabe gibt es mehrere Parameter, die den Status der verschiedenen Migrationsschritte angeben. Sehen Sie sich zum Beispiel folgende Ausgabe an:

      {
          "output": [
              // Database Level
              {
                  "appliedChanges": 0, // Total incremental sync applied after full load
                  "cdcDeleteCounter": 0, // Total delete operation  applied after full load
                  "cdcInsertCounter": 0, // Total insert operation applied after full load
                  "cdcUpdateCounter": 0, // Total update operation applied after full load
                  "databaseName": "inventory",
                  "endedOn": null,
                  "fullLoadCompletedTables": 2, //Number of tables completed full load
                  "fullLoadErroredTables": 0, //Number of tables that contain migration error
                  "fullLoadLoadingTables": 0, //Number of tables that are in loading status
                  "fullLoadQueuedTables": 0, //Number of tables that are in queued status
                  "id": "db|inventory",
                  "incomingChanges": 0, //Number of changes after full load
                  "initializationCompleted": true,
                  "latency": 0,
                  //Status of migration task
                  "migrationState": "READY_TO_COMPLETE", //READY_TO_COMPLETE => the database is ready for cutover
                  "resultType": "DatabaseLevelOutput",
                  "startedOn": "2018-07-05T23:36:02.27839+00:00"
              }, {
                  "databaseCount": 1,
                  "endedOn": null,
                  "id": "dd27aa3a-ed71-4bff-ab34-77db4261101c",
                  "resultType": "MigrationLevelOutput",
                  "sourceServer": "138.91.123.10",
                  "sourceVersion": "PostgreSQL",
                  "startedOn": "2018-07-05T23:36:02.27839+00:00",
                  "state": "PENDING",
                  "targetServer": "builddemotarget.postgres.database.azure.com",
                  "targetVersion": "Azure Database for PostgreSQL"
              },
              // Table 1
              {
                  "cdcDeleteCounter": 0,
                  "cdcInsertCounter": 0,
                  "cdcUpdateCounter": 0,
                  "dataErrorsCount": 0,
                  "databaseName": "inventory",
                  "fullLoadEndedOn": "2018-07-05T23:36:20.740701+00:00", //Full load completed time
                  "fullLoadEstFinishTime": "1970-01-01T00:00:00+00:00",
                  "fullLoadStartedOn": "2018-07-05T23:36:15.864552+00:00", //Full load started time
                  "fullLoadTotalRows": 10, //Number of rows loaded in full load
                  "fullLoadTotalVolumeBytes": 7056, //Volume in Bytes in full load
                  "id": "or|inventory|public|actor",
                  "lastModifiedTime": "2018-07-05T23:36:16.880174+00:00",
                  "resultType": "TableLevelOutput",
                  "state": "COMPLETED", //State of migration for this table
                  "tableName": "public.catalog", //Table name
                  "totalChangesApplied": 0 //Total sync changes that applied after full load
              },
              //Table 2
              {
                  "cdcDeleteCounter": 0,
                  "cdcInsertCounter": 50,
                  "cdcUpdateCounter": 0,
                  "dataErrorsCount": 0,
                  "databaseName": "inventory",
                  "fullLoadEndedOn": "2018-07-05T23:36:23.963138+00:00",
                  "fullLoadEstFinishTime": "1970-01-01T00:00:00+00:00",
                  "fullLoadStartedOn": "2018-07-05T23:36:19.302013+00:00",
                  "fullLoadTotalRows": 112,
                  "fullLoadTotalVolumeBytes": 46592,
                  "id": "or|inventory|public|address",
                  "lastModifiedTime": "2018-07-05T23:36:20.308646+00:00",
                  "resultType": "TableLevelOutput",
                  "state": "COMPLETED",
                  "tableName": "public.orders",
                  "totalChangesApplied": 0
              }
          ],
          // DMS migration task state
          "state": "Running", //Running => service is still listening to any changes that might come in
          "taskType": null
      }
      

Übernahmemigrationsaufgabe

Die Datenbank ist zur Übernahme bereit, wenn die Ladung vollständig abgeschlossen ist. Je nach Auslastung des Quellservers mit neuen Transaktionen könnte die DMS-Aufgabe möglicherweise weiterhin nach Abschluss des Ladevorgangs Änderungen anwenden.

Um sicherzustellen, dass alle Daten erfasst sind, vergleichen Sie die Zeilenanzahl in Quell- und Zieldatenbank. Sie können z. B. die folgenden Details anhand der Statusausgabe überprüfen:

Database Level
"migrationState": "READY_TO_COMPLETE" => Status of migration task. READY_TO_COMPLETE means database is ready for cutover
"incomingChanges": 0 => Check for a period of 5-10 minutes to ensure no new incoming changes need to be applied to the target server

Table Level (for each table)
"fullLoadTotalRows": 10    => The row count matches the initial row count of the table
"cdcDeleteCounter": 0      => Number of deletes after the full load
"cdcInsertCounter": 50     => Number of inserts after the full load
"cdcUpdateCounter": 0      => Number of updates after the full load
  1. Führen Sie die Übernahmemigrationsaufgabe mit dem folgenden Befehl durch:

    az dms project task cutover -h
    

    Mit dem folgenden Befehl wird beispielsweise die Übernahme der Datenbank „Inventory“ initiiert:

    az dms project task cutover --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask  --object-name Inventory
    
  2. Überwachen Sie den Übernahmefortschritt mithilfe des folgenden Befehls :

    az dms project task show --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask
    
  3. Wenn der Status der Datenbankmigration abgeschlossen angezeigt wird, erstellen Sie Sequenzen (falls zutreffend) neu, und verbinden Sie Ihre Anwendungen mit der neuen Zielinstanz von Azure Database for PostgreSQL.

Dienst, Projekt, Aufgabenbereinigung

Wenn Sie DMS-Aufgaben, -Projekte oder -Dienste abbrechen oder löschen müssen, führen Sie den Abbruch in der folgenden Reihenfolge durch:

  • Abbrechen einer ausgeführten Aufgabe
  • Löschen der Aufgabe
  • Löschen des Projekts
  • Löschen des DMS-Diensts
  1. Um eine momentan ausgeführte Aufgabe abzubrechen, verwenden Sie den folgenden Befehl:

    az dms project task cancel --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask
    
  2. Um eine momentan ausgeführte Aufgabe zu löschen, verwenden Sie den folgenden Befehl:

    az dms project task delete --service-name PostgresCLI --project-name PGMigration --resource-group <ResourceGroupName> --name runnowtask
    
  3. Um ein Projekt zu löschen, verwenden Sie den folgenden Befehl:

    az dms project delete -n PGMigration -g <ResourceGroupName> --service-name PostgresCLI
    
  4. Um einen DMS-Dienst zu löschen, verwenden Sie den folgenden Befehl:

    az dms delete -g <ResourceGroupName> -n PostgresCLI