Condividi tramite


Esercitazione: Gestire i database SAP HANA in una macchina virtuale di Azure usando 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 descrive in dettaglio come gestire un database SAP HANA di cui è stato eseguito il backup in una macchina virtuale di Azure, tutto usando l'interfaccia della riga di comando di Azure. È anche possibile eseguire questi passaggi usando il portale di Azure.

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

Se è stato eseguito il backup di un database SAP HANA in Azure usando l'interfaccia della riga di comando, usare le risorse seguenti:

  • un gruppo di risorse denominato saphanaResourceGroup
  • un vault denominato saphanaVault
  • contenitore protetto denominato VMAppContainer; Compute; saphanaResourceGroup; saphanaVM
  • Database/articolo di cui è stato effettuato il backup, chiamato 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 sottoposta a backup con Backup di Azure. Questa esercitazione illustra in dettaglio ognuna delle operazioni di gestione.

Annotazioni

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

Monitorare i processi di backup e ripristino del database SAP HANA

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 anche di sospendere un processo in esecuzione o attendere il completamento di un processo.

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

L'output sarà 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 il backup del database SAP HANA

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 desidera modificare i criteri. Per questa esercitazione si sostituiranno i criteri 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 il database SAP HANA

Per creare un criterio di backup incrementale, 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 i dettagli appropriati per la pianificazione e la conservazione
  • --resource-group - Gruppo di risorse dell'insieme di credenziali
  • --vault-name : nome dell'archivio

Esempio:

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

JSON di esempio (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 dei criteri per specificare la frequenza di backup e la conservazione desiderate per i backup incrementali.

Per 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:

  • Aggiornare il conteggio retentionDuration 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 caveau dei Servizi di ripristino individua automaticamente tutti i database su questa istanza.

Tuttavia, nei casi in cui i nuovi database vengono aggiunti 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 individuati nell'istanza di SAP HANA. Questo elenco, tuttavia, esclude i database in cui è già stato configurato il backup. Dopo aver individuato il database di cui eseguire il backup, 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 verrà visualizzato 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

Interrompere 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.
  • Sarà addebitato il costo di un'istanza protetta e lo spazio di archiviazione consumato.
  • Se si elimina un'origine dati senza arrestare i backup, i nuovi backup avranno esito negativo.

Esaminiamo ora più nel dettaglio i modi per interrompere la protezione.

Interrompere la protezione mantenendo i dati

Per interrompere la protezione mantenendo i 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 conservare i dati

Per arrestare la protezione senza conservare i 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 per un database SAP HANA

Quando si arresta la protezione per il database SAP HANA con conservare i dati, è possibile riprendere la protezione in un secondo momento. Se non si conservano i dati di cui è stato eseguito il 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