Поделиться через


Руководство. Управление базами данных SAP HANA на виртуальной машине Azure с помощью Azure CLI

Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или с помощью скриптов. В этой документации описано, как управлять резервной копией базы данных SAP HANA на виртуальной машине Azure с помощью Azure CLI. Эти действия также можно выполнить с помощью портала Azure.

Вы можете выполнять команды интерфейса командной строки с помощью Azure Cloud Shell.

Если вы создали резервную копию базы данных SAP HANA в Azure с помощью CLI, используйте следующие ресурсы:

  • группа ресурсов с именем saphanaResourceGroup;
  • хранилище с именем saphanaVault
  • защищенный контейнер с именем VMAppContainer;Compute;saphanaResourceGroup;saphanaVM
  • резервная копия базы данных или элемента с именем saphanadatabase; hxe; hxe
  • ресурсы в регионе westus2

Azure CLI упрощает управление базой данных SAP HANA, работающей на виртуальной машине Azure, которая выполняет резервное копирование с помощью Azure Backup. В этом руководстве подробно описаны все операции управления.

Примечание.

Дополнительные сведения о поддерживаемых конфигурациях и сценариях можно найти в матрице резервной копии SAP HANA.

Мониторинг заданий резервного копирования и восстановления базы данных SAP HANA

Для мониторинга завершенных или текущих заданий (резервного копирования или восстановления) используйте командлет az backup job list . CLI также позволяет приостановить текущее задание или ждать завершения задания.

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

Выходные данные будут выглядеть примерно так:

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

Изменение политики резервного копирования базы данных SAP HANA

Чтобы изменить политику, определяющую конфигурацию резервного копирования SAP HANA, используйте командлет az backup policy set. Параметр Name в этом командлете указывает на элемент резервной копии, политику которого мы хотим изменить. В этом руководстве мы заменим политику базы данных SAP HANA saphanadatabase; hxe; hxe с новой политикой newsaphanaPolicy. Новые политики можно создать с помощью командлета 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 \

Выходные данные должны выглядеть следующим образом:

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

Создание добавочной политики резервного копирования для базы данных SAP HANA

Чтобы создать политику добавочного резервного копирования, выполните команду az backup policy create с помощью следующих параметров:

  • --backup-management-type — Рабочая нагрузка Azure
  • Тип рабочей нагрузки — SAPHana
  • --name — имя политики
  • --policy — JSON-файл с соответствующими сведениями о расписании и хранении
  • --resource-group — группа ресурсов хранилища
  • --vault-name — имя хранилища

Пример:

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

Пример 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"
} 

После успешного создания политики выходные данные команды отобразятся в формате JSON политики, переданной в качестве параметра при выполнении команды.

Можно изменить следующий раздел политики, чтобы указать нужную частоту резервного копирования и хранение для добавочных резервных копий.

Рассмотрим пример.

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

Пример:

Если вы хотите иметь добавочные резервные копии только в субботу и сохранить их в течение 60 дней, внесите следующие изменения в политику:

  • Обновление длительности удержания до 60 дней
  • Укажите только субботу как 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
  }
}

Защита новых баз данных, добавленных в экземпляр SAP HANA

Регистрация экземпляра SAP HANA в хранилище служб восстановления автоматически обнаруживает все базы данных этого экземпляра.

Однако в случаях, когда новые базы данных добавляются позже в экземпляр SAP HANA, используйте командлет az backup protectable-item initialize. Этот командлет обнаруживает добавленные новые базы данных.

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

Затем используйте командлет az backup protectable-item list для перечисления всех баз данных, обнаруженных в экземпляре SAP HANA. Однако этот список исключает базы данных, в которых уже настроена резервная копия. После обнаружения резервной копии базы данных обратитесь к статье "Включить резервное копирование в базе данных SAP HANA".

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

Новая база данных, которую вы хотите создать резервную копию, будет отображаться в этом списке, которая будет выглядеть следующим образом:

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

Остановка защиты базы данных SAP HANA

Вы можете остановить создание резервных копий базы данных SQL Server несколькими способами:

  • остановить все будущие задания резервного копирования и удалить все точки восстановления.
  • остановить все будущие задания резервного копирования, но сохранить точки восстановления без изменений.

Если вы решили сохранить точки восстановления, учитывайте следующие факторы:

  • все точки восстановления навсегда остаются неизменными, и любая очистка прекращается одновременно с отключением защиты;
  • Вы будете платить за защищенный экземпляр и используемый объем хранилища.
  • если вы удалите источник данных без остановки резервного копирования, новые операции резервного копирования будут завершаться сбоем.

Давайте рассмотрим каждый из способов остановки защиты более подробно.

Остановка защиты с сохранением данных

Чтобы отключить защиту с сохранением данных, используйте командлет 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

Выходные данные должны выглядеть следующим образом:

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

Чтобы проверить состояние этой операции, используйте команду az backup job show.

Остановка защиты без хранения данных

Чтобы отключить защиту без сохранения данных, используйте командлет 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

Выходные данные должны выглядеть следующим образом:

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

Чтобы проверить состояние этой операции, используйте команду az backup job show.

Возобновление защиты базы данных SAP HANA

При остановке защиты базы данных SAP HANA с сохранением данных можно возобновить защиту. Если вы не сохраняете резервные копии данных, вы не сможете возобновить защиту.

Чтобы возобновить защиту, используйте командлет 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

Выходные данные должны выглядеть следующим образом:

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

Чтобы проверить состояние этой операции, используйте команду az backup job show.

Дальнейшие действия