Compartilhar via


Tutorial: Gerenciar bancos de dados do SAP HANA em uma VM do Azure usando a CLI do Azure

A CLI do Azure é usada para criar e gerenciar recursos do Azure por meio da linha de comando ou por meio de scripts. Esta documentação detalha como gerenciar um banco de dados SAP HANA com backup na VM do Azure – tudo usando a CLI do Azure. Você também pode executar essas etapas usando o portal do Azure.

Use o Azure Cloud Shell para executar comandos da CLI.

Se você fez backup de um banco de dados SAP HANA no Azure usando a CLI, use os seguintes recursos:

  • um grupo de recursos chamado saphanaResourceGroup
  • um cofre chamado saphanaVault
  • contêiner protegido chamado VMAppContainer; Calcular; saphanaResourceGroup; saphanaVM
  • um banco de dados/um item submetido a backup chamado saphanadatabase;hxe;hxe
  • recursos na região westus2

A CLI do Azure facilita o gerenciamento de um banco de dados SAP HANA em execução em uma VM do Azure com backup usando o Backup do Azure. Este tutorial detalha cada uma das operações de gerenciamento.

Observação

Confira a matriz de suporte de backup do SAP HANA para saber mais sobre as configurações e os cenários com suporte.

Monitorar trabalhos de backup e restauração de banco de dados do SAP HANA

Para monitorar trabalhos concluídos ou atualmente em execução (backup ou restauração), use o cmdlet az backup job list. A CLI também permite que você suspenda um trabalho em execução no momento ou aguarde até que um trabalho seja concluído.

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

A saída será semelhante a esta:

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

Alterar a política de backup de banco de dados do SAP HANA

Para alterar a política subjacente à configuração de backup do SAP HANA, use o cmdlet az backup policy set . O parâmetro de nome neste cmdlet refere-se ao item de backup cuja política queremos alterar. Para este tutorial, substituiremos a política do nosso banco de dados sap HANA saphanadatabase; hxe; hxe com uma nova política newsaphanaPolicy. Novas políticas podem ser criadas usando o 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 \

O resultado deve ser assim:

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

Criar uma política de backup incremental para o banco de dados SAP HANA

Para criar uma política de backup incremental, execute o comando az backup policy create com os seguintes parâmetros:

  • --backup-management-type – Carga de trabalho do Azure
  • --workload-type – SAPHana
  • --name – Nome da política
  • --policy – arquivo JSON com detalhes apropriados para agendamento e retenção
  • --resource-group – Grupo de recursos do cofre
  • --vault-name – Nome do cofre

Exemplo:

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

JSON de exemplo (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"
} 

Depois que a política for criada com êxito, a saída do comando exibirá o JSON da política que você passou como um parâmetro durante a execução do comando.

Você pode modificar a seção a seguir da política para especificar a frequência de backup e a retenção desejadas para backups incrementais.

Por exemplo:

{
  "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
  }
}

Exemplo:

Se você quiser ter backups incrementais somente no sábado e retê-los por 60 dias, faça as seguintes alterações na política:

  • Atualizar a contagem de retentionDuration para 60 dias
  • Especificar somente sábado como 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
  }
}

Proteger novos bancos de dados adicionados a uma instância do SAP HANA

Registrar uma instância do SAP HANA com um cofre dos Serviços de Recuperação descobre automaticamente todos os bancos de dados nessa instância.

No entanto, nos casos em que novos bancos de dados são adicionados à instância do SAP HANA mais tarde, use o cmdlet az backup protectable-item initialize. Esse cmdlet descobre os novos bancos de dados adicionados.

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

Em seguida, use o cmdlet az backup protectable-item list para listar todos os bancos de dados que foram descobertos em sua instância do SAP HANA. Essa lista, no entanto, exclui os bancos de dados nos quais o backup já foi configurado. Depois que o banco de dados que será realizado o backup for identificado, consulte Habilitar backup no banco de dados SAP HANA.

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

O novo banco de dados que você deseja fazer backup aparecerá nesta lista, que terá a seguinte aparência:

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

Interromper a proteção para um banco de dados SAP HANA

Você pode interromper a proteção de um banco de dados SAP HANA de algumas maneiras:

  • Interromper todos os trabalhos de backup futuros e excluir todos os pontos de recuperação.
  • Interromper todos os trabalhos de backup futuros e deixar os pontos de recuperação intactos.

Se você optar por deixar os pontos de recuperação, tenha em mente estes detalhes:

  • Todos os pontos de recuperação permanecerão intactos para sempre e toda a remoção será interrompida ao parar a proteção com os dados de retenção.
  • Você será cobrado pela instância protegida e pelo armazenamento consumido.
  • Se você excluir uma fonte de dados sem interromper os backups, os novos backups falharão.

Vamos examinar cada uma das maneiras de interromper a proteção com mais detalhes.

Interromper a proteção com retenção de dados

Para interromper a proteção mantendo os dados, use o 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

O resultado deve ser assim:

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

Para verificar o status dessa operação, use o cmdlet az backup job show .

Parar a proteção sem reter dados

Para interromper a proteção sem reter dados, use o 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

O resultado deve ser assim:

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

Para verificar o status dessa operação, use o cmdlet az backup job show .

Retomar a proteção de um banco de dados SAP HANA

Ao interromper a proteção para o banco de dados SAP HANA mantendo os dados, você poderá retomar a proteção posteriormente. Se você não reter os dados de backup, não poderá retomar a proteção.

Para retomar a proteção, use o 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

O resultado deve ser assim:

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

Para verificar o status dessa operação, use o cmdlet az backup job show .

Próximas etapas