Share via


Esercitazione: Gestire i database SAP HANA in una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure

L'interfaccia della riga di comando di Azure consente di creare e gestire le risorse di Azure dalla riga di comando o tramite script. Questa documentazione illustra come gestire il backup di un database SAP HANA in una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure. È anche possibile eseguire questi passaggi tramite il portale di Azure.

Usare Azure Cloud Shell per eseguire i comandi dell'interfaccia della riga di comando.

Al termine di questa esercitazione, sarà possibile:

  • Monitorare i processi di backup e ripristino
  • Proteggere i nuovi database aggiunti a un'istanza di SAP HANA
  • Modificare i criteri
  • Arresta protezione
  • Riprendere la protezione

Se è stata usata l'esercitazione Eseguire il backup di un database SAP HANA in Azure tramite l'interfaccia della riga di comando per eseguire il backup del database SAP HANA, sono in uso le risorse seguenti:

  • un gruppo di risorse denominato saphanaResourceGroup
  • un insieme di credenziali denominato saphanaVault
  • contenitore protetto denominato VMAppContainer;Compute;saphanaResourceGroup;saphanaVM
  • database/elemento sottoposto a backup denominato saphanadatabase;hxe;hxe
  • risorse nell'area westus2

L'interfaccia della riga di comando di Azure semplifica la gestione di un database SAP HANA in esecuzione in una macchina virtuale di Azure di cui viene eseguito il backup con Backup di Azure. Questa esercitazione descrive in modo dettagliato tutte le operazioni di gestione.

Nota

Per altre informazioni sulle configurazioni e gli scenari supportati, vedere la matrice di supporto del backup di SAP HANA .

Monitorare i processi di backup e ripristino

Per monitorare i processi completati o attualmente in esecuzione (backup o ripristino), usare il cmdlet az backup job list. L'interfaccia della riga di comando consente inoltre di sospendere un processo attualmente in esecuzione o attendere il completamento di un processo.

az backup job list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --output table

Verrà visualizzato un risultato simile al seguente:

Name                                  Operation              Status      Item Name       Start Time UTC
------------------------------------  ---------------        ---------   ----------      -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup        Completed   hxe             2019-12-03T03:09:210831+00:00  
ccdb4dce-8b15-47c5-8c46-b0985352238f  Backup (Full)          Completed   hxe [hxehost]   2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282  Backup (Differential)  Completed   hxe [hxehost]   2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813  Restore (Log)          Completed   hxe [hxehost]   2019-12-03T05:44:51.081607+00:00

Modificare i criteri

Per modificare i criteri sottostanti la configurazione di backup di SAP HANA, usare il cmdlet az backup policy set. Il parametro Name in questo cmdlet fa riferimento all'elemento di backup di cui si vogliono modificare i criteri. Per questa esercitazione verrà sostituito il criterio del database SAP HANA saphanadatabase;hxe;hxe con un nuovo criterio newsaphanaPolicy. È possibile creare nuovi criteri usando il cmdlet az backup policy create.

az backup item set policy --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name newsaphanaPolicy \
    --name saphanadatabase;hxe;hxe \

L'output dovrebbe essere simile al seguente:

Name                                  Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd  SAPHANA

Creare criteri di backup incrementali

Per creare criteri di backup incrementali, eseguire il comando az backup policy create con i parametri seguenti:

  • --backup-management-type - Carico di lavoro di Azure
  • --workload-type - SAPHana
  • --name : nome del criterio
  • --policy - File JSON con dettagli appropriati per la pianificazione e la conservazione
  • --resource-group - Gruppo di risorse dell'insieme di credenziali
  • --vault-name - Nome dell'insieme di credenziali

Esempio:

az backup policy create --resource-group saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana

Codice JSON di esempio (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
  "location": null,
  "name": "sappolicy",
  "properties": {
    "backupManagementType": "AzureWorkload",
    "makePolicyConsistent": null,
    "protectedItemsCount": 0,
    "settings": {
      "isCompression": false,
      "issqlcompression": false,
      "timeZone": "UTC"
    },
    "subProtectionPolicy": [
      {
        "policyType": "Full",
        "retentionPolicy": {
          "dailySchedule": null,
          "monthlySchedule": {
            "retentionDuration": {
              "count": 60,
              "durationType": "Months"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "retentionPolicyType": "LongTermRetentionPolicy",
          "weeklySchedule": {
            "daysOfTheWeek": [
              "Sunday"
            ],
            "retentionDuration": {
              "count": 104,
              "durationType": "Weeks"
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "yearlySchedule": {
            "monthsOfYear": [
              "January"
            ],
            "retentionDuration": {
              "count": 10,
              "durationType": "Years"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          }
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Sunday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2021-01-19T00:30:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Incremental",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 30,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2017-03-07T02:00:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Log",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 15,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "scheduleFrequencyInMins": 120,
          "schedulePolicyType": "LogSchedulePolicy"
        }
      }
    ],
    "workLoadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
} 

Dopo aver creato correttamente il criterio, l'output del comando visualizzerà il codice JSON dei criteri passato come parametro durante l'esecuzione del comando.

È possibile modificare la sezione seguente del criterio per specificare la frequenza di backup e la conservazione desiderate per i backup incrementali.

Ad esempio:

{
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 30,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

Esempio:

Se si desidera avere backup incrementali solo il sabato e conservarli per 60 giorni, apportare le modifiche seguenti nei criteri:

  • Aggiornamento del numero di conservazioneDuration a 60 giorni
  • Specificare solo sabato come ScheduleRunDays
 {
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 60,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

Proteggere i nuovi database aggiunti a un'istanza di SAP HANA

La registrazione di un'istanza di SAP HANA con un insieme di credenziali di Servizi di ripristino comporta l'individuazione automatica di tutti i database in questa istanza.

Tuttavia, nei casi in cui vengono aggiunti nuovi database all'istanza di SAP HANA in un secondo momento, usare il cmdlet az backup protectable-item initialize. Questo cmdlet individua i nuovi database aggiunti.

az backup protectable-item initialize --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --workload-type SAPHANA

Usare quindi il cmdlet az backup protectable-item list per elencare tutti i database che sono stati individuati nell'istanza di SAP HANA. Questo elenco esclude tuttavia i database in cui è già stato configurato il backup. Dopo aver individuato il backup del database, vedere Abilitare il backup nel database SAP HANA.

az backup protectable-item list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --workload-type SAPHANA \
    --output table

Il nuovo database di cui si vuole eseguire il backup sarà incluso in questo elenco che avrà un aspetto simile al seguente:

Name                            Protectable Item Type    ParentName    ServerName    IsProtected
---------------------------     ----------------------   ------------  -----------   ------------
saphanasystem;hxe               SAPHanaSystem            HXE           hxehost       NotProtected  
saphanadatabase;hxe;systemdb    SAPHanaDatabase          HXE           hxehost       NotProtected
saphanadatabase;hxe;newhxe      SAPHanaDatabase          HXE           hxehost       NotProtected

Arrestare la protezione per un database SAP HANA

È possibile arrestare la protezione di un database SAP HANA in due modi:

  • Interrompere tutti i processi di backup futuri ed eliminare tutti i punti di recupero.
  • Arrestare tutti i processi di backup futuri mantenendo tuttavia invariati i punti di ripristino.

Se si sceglie di lasciare invariati i punti di ripristino, tenere presente quanto segue:

  • Tutti i punti di ripristino rimarranno invariati per sempre e tutte le eliminazioni verranno arrestate in caso di arresto della protezione con conservazione dei dati.
  • Verranno addebitati i costi per l'istanza protetta e lo spazio di archiviazione utilizzato.
  • Se si elimina un'origine dati senza arrestare i backup, i nuovi backup avranno esito negativo.

Di seguito vengono esaminati più in dettaglio tutti i modi per arrestare la protezione.

Arrestare la protezione conservando i dati

Per arrestare la protezione con conservazione dei dati, usare il cmdlet az backup protection disable.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --output table

L'output dovrebbe essere simile al seguente:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Per controllare lo stato di questa operazione, usare il cmdlet az backup job show.

Arrestare la protezione senza conservazione dei dati

Per arrestare la protezione senza conservazione dei dati, usare il cmdlet az backup protection disable.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --delete-backup-data true \
    --output table

L'output dovrebbe essere simile al seguente:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Per controllare lo stato di questa operazione, usare il cmdlet az backup job show.

Riprendere la protezione

Quando si arresta la protezione per il database SAP HANA con conservazione dei dati, è possibile riprendere la protezione in un secondo momento. Se non si conservano i dati di backup, non sarà possibile riprendere la protezione.

Per riprendere la protezione, usare il cmdlet az backup protection resume.

az backup protection resume --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name saphanaPolicy \
    --output table

L'output dovrebbe essere simile al seguente:

Name                                  ResourceGroup
------------------------------------  ---------------  
b2a7f108-1020-4529-870f-6c4c43e2bb9e  saphanaResourceGroup

Per controllare lo stato di questa operazione, usare il cmdlet az backup job show.

Passaggi successivi