Partilhar via


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

A CLI do Azure é usada para criar e gerenciar recursos do Azure a partir da Linha de Comando ou por meio de scripts. Esta documentação detalha como gerenciar um banco de dados SAP HANA de 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.

No final deste tutorial, será capaz de:

  • Monitorar tarefas de backup e restauração
  • Proteja novos bancos de dados adicionados a uma instância do SAP HANA
  • Alterar a política
  • Parar proteção
  • Proteção de retomada

Se você usou Fazer backup de um banco de dados SAP HANA no Azure usando a CLI para fazer backup do banco de dados SAP HANA, está usando os seguintes recursos:

  • um grupo de recursos chamado saphanaResourceGroup
  • Um Cofre Chamado saphanaVault
  • contêiner protegido chamado VMAppContainer; Computação; saphanaResourceGroup; saphanaVM
  • banco de dados/item de 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 cujo backup é feito usando o Backup do Azure. Este tutorial detalha cada uma das operações de gerenciamento.

Observação

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

Monitorar tarefas de backup e restauração

Para monitorar trabalhos concluídos ou 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á mais ou menos assim:

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

Política de mudanças

Para alterar a política subjacente à configuração de backup do SAP HANA, use o cmdlet az backup policy set . O parâmetro name 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 \

A saída deve ter esta aparência:

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

Criar política de backup incremental

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
  • --tipo de carga de trabalho - SAPHana
  • --name – Nome da política
  • --policy - arquivo JSON com detalhes apropriados para agendamento e retenção
  • --resource-group - Grupo de recursos do vault
  • --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

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

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

Você pode modificar a seção a seguir da política para especificar a frequência e a retenção de backup 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 apenas no sábado e retê-los por 60 dias, faça as seguintes alterações na política:

  • Atualizar duração de retenção para 60 dias
  • Especifique apenas 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
  }
}

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

O registro de uma instância do SAP HANA com um cofre do Recovery Services deteta automaticamente todos os bancos de dados nessa instância.

No entanto, nos casos em que novos bancos de dados sejam adicionados à instância do SAP HANA mais tarde, use o cmdlet az backup protectable-item initialize. Este 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 todas as bases de dados descobertas na sua instância SAP HANA. Essa lista, no entanto, exclui os bancos de dados nos quais o backup já foi configurado. Depois que o banco de dados do qual será feito backup for descoberto, consulte Ativar 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 do qual 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

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

Você pode parar de proteger um banco de dados SAP HANA de duas maneiras:

  • Pare todos os trabalhos de backup futuros e exclua todos os pontos de recuperação.
  • Pare todos os trabalhos de backup futuros e deixe os pontos de recuperação intactos.

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

  • Todos os pontos de recuperação permanecerão sempre intactos, e toda a poda cessará ao interromper a proteção, mantendo os dados retidos.
  • 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 analisar cada uma das maneiras de interromper a proteção com mais detalhes.

Parar a proteção retendo dados

Para interromper a proteção com retenção de 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

A saída deve ter esta aparência:

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

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

Pare 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

A saída deve ter esta aparência:

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

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

Proteção de retomada

Ao interromper a proteção para o banco de dados SAP HANA com a retenção de dados, você poderá retomar a proteção posteriormente. Se você não retiver 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

A saída deve ter esta aparência:

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

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

Próximos passos