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


Azure Backup для SQL Server на виртуальной машине Azure

Помимо прочих возможностей в Azure Backup имеется поддержка резервного копирования рабочих нагрузок, например SQL Server, работающего в виртуальных машинах Azure. Так как приложение SQL работает в виртуальной машине Azure, службе резервного копирования требуется разрешение на доступ к этому приложению и на получение необходимых сведений. Для этого в процессе регистрации, запущенном пользователем, Azure Backup устанавливает расширение AzureBackupWindowsWorkload в виртуальной машине, в которой работает SQL Server.

Необходимые компоненты

Список поддерживаемых сценариев см. в таблице возможностей, поддерживаемых Azure Backup.

Сетевое соединение

Azure Backup поддерживает теги NSG, развертывая для этого прокси-сервер или используя указанные диапазоны IP-адресов. Дополнительные сведения о каждом из этих методов см. в этой статье.

Схема расширения

Схема расширения и значения свойств — это значения конфигурации (параметры среды выполнения), которые служба передает в API CRP. Эти значения конфигурации используются во время регистрации и обновления. Эта схема также используется в расширении AzureBackupWindowsWorkload. Это предварительно установленная схема; новый параметр можно добавить в поле objectStr

    "runtimeSettings": [{
    "handlerSettings": {
    "protectedSettingsCertThumbprint": "",
    "protectedSettings": {
    "objectStr": "",
    "logsBlobUri": "",
    "statusBlobUri": ""
    }
    },
    "publicSettings": {
    "locale": "en-us",
    "taskId": "1c0ae461-9d3b-418c-a505-bb31dfe2095d",
    "objectStr": "",
    "commandStartTimeUTCTicks": "636295005824665976",
    "vmType": "vmType"
    }
    }]
    }

В приведенном ниже коде JSON показана схема для расширения WorkloadBackup.

{
  "type": "extensions",
  "name": "WorkloadBackup",
  "location":"<myLocation>",
  "properties": {
    "publisher": "Microsoft.RecoveryServices",
    "type": "AzureBackupWindowsWorkload",
    "typeHandlerVersion": "1.1",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "locale":"<location>",
      "taskId":"<TaskId used by Azure Backup service to communicate with extension>",

      "objectStr": "<The configuration passed by Azure Backup service to extension>",

      "commandStartTimeUTCTicks": "<Scheduled start time of registration or upgrade task>",
      "vmType": "<Type of VM where registration got triggered Eg. Compute or ClassicCompute>"
    },
    "protectedSettings": {
      "objectStr": "<The sensitive configuration passed by Azure Backup service to extension>",
      "logsBlobUri": "<blob uri where logs of command execution by extension are written to>",
      "statusBlobUri": "<blob uri where status of the command executed by extension is written>"
    }
  }
}

Значения свойств

Имя. Значение и пример Тип данных
локаль en-us строка
taskId "1c0ae461-9d3b-418c-a505-bb31dfe2095d" строка
objectStr
(publicSettings)
"eyJjb250YWluZXJQcm9wZXJ0aWVzIjp7IkNvbnRhaW5lcklEIjoiMzVjMjQxYTItOGRjNy00ZGE5LWI4NTMtMjdjYTJhNDZlM2ZkIiwiSWRNZ210Q29udGFpbmVySWQiOjM0NTY3ODg5LCJSZXNvdXJjZUlkIjoiMDU5NWIwOGEtYzI4Zi00ZmFlLWE5ODItOTkwOWMyMGVjNjVhIiwiU3Vic2NyaXB0aW9uSWQiOiJkNGEzOTliNy1iYjAyLTQ2MWMtODdmYS1jNTM5ODI3ZTgzNTQiLCJVbmlxdWVDb250YWluZXJOYW1lIjoiODM4MDZjODUtNTQ4OS00NmNhLWEyZTctNWMzNzNhYjg3OTcyIn0sInN0YW1wTGlzdCI6W3siU2VydmljZU5hbWUiOjUsIlNlcnZpY2VTdGFtcFVybCI6Imh0dHA6XC9cL015V0xGYWJTdmMuY29tIn1dfQ==" строка
commandStartTimeUTCTicks "636967192566036845" строка
vmType "microsoft.compute/virtualmachines" строка
objectStr
(protectedSettings)
"eyJjb250YWluZXJQcm9wZXJ0aWVzIjp7IkNvbnRhaW5lcklEIjoiMzVjMjQxYTItOGRjNy00ZGE5LWI4NTMtMjdjYTJhNDZlM2ZkIiwiSWRNZ210Q29udGFpbmVySWQiOjM0NTY3ODg5LCJSZXNvdXJjZUlkIjoiMDU5NWIwOGEtYzI4Zi00ZmFlLWE5ODItOTkwOWMyMGVjNjVhIiwiU3Vic2NyaXB0aW9uSWQiOiJkNGEzOTliNy1iYjAyLTQ2MWMtODdmYS1jNTM5ODI3ZTgzNTQiLCJVbmlxdWVDb250YWluZXJOYW1lIjoiODM4MDZjODUtNTQ4OS00NmNhLWEyZTctNWMzNzNhYjg3OTcyIn0sInN0YW1wTGlzdCI6W3siU2VydmljZU5hbWUiOjUsIlNlcnZpY2VTdGFtcFVybCI6Imh0dHA6XC9cL015V0xGYWJTdmMuY29tIn1dfQ==" строка
logsBlobUri https://seapod01coord1exsapk732.blob.core.windows.net/bcdrextensionlogs-d45d8a1c-281e-4bc8-9d30-3b25176f68ea/sopattna-vmubuntu1404ltsc.v2.Logs.txt?sv=2014-02-14& sr=b&sig=DbwYhwfeAC5YJzISgxoKk%2FEWQq2AO1vS1E0rDW%2FlsBw%3D&st=2017--11-09T14%3A33%3A29Z&se=2017-11-09T17%3A38%3A29Z&sp=rw строка
statusBlobUri https://seapod01coord1exsapk732.blob.core.windows.net/bcdrextensionlogs-d45d8a1c-281e-4bc8-9d30-3b25176f68ea/sopattna-vmubuntu1404ltsc.v2.Status.txt?sv=2014-02-14& sr=b&sig=96RZBpTKCjmV7QFeXm5IduB%2FILktwGbLwbWg6Ih96Ao%3D&st=2017-11-09T14%3A33%3A29Z&se=2017-11-09T17%3A38%3A29Z&sp=rw строка

Развертывание шаблона

Мы рекомендуем добавить расширение AzureBackupWindowsWorkload в виртуальную машину, включив функцию резервного копирования SQL Server в виртуальной машине. Это можно сделать с помощью шаблона Resource Manager, предназначенного для автоматизации резервного копирования в виртуальных машинах с SQL Server.

Развертывание с помощью PowerShell

Вам потребуется "зарегистрировать" виртуальную машину Azure, содержащую приложение SQL, в хранилище Служб восстановления. В процессе регистрации на виртуальной машине будет установлено расширение AzureBackupWindowsWorkload. Зарегистрировать виртуальную машину можно с помощью командлета Register-AzRecoveryServicesBackupContainerPS. VMName Замените VMRG Name и на имя целевой группы ресурсов и имя виртуальной машины.

$myVM = Get-AzVM -ResourceGroupName <VMRG Name> -Name <VMName>
Register-AzRecoveryServicesBackupContainer -ResourceId $myVM.ID -BackupManagementType AzureWorkload -WorkloadType MSSQL -VaultId $targetVault.ID -Force

Команда возвратит контейнер резервной копии этого ресурса, а у виртуальной машины будет состояние Зарегистрирована.

Следующие шаги

  • Узнайте больше о том, как устранять неполадки при резервном копировании виртуальных машин Azure SQL Server.
  • Изучите часто задаваемые вопросы о резервном копировании баз данных SQL Server, работающих на виртуальных машинах Azure и использующих службу Azure Backup.