Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или с помощью скриптов. В этой статье описывается резервное копирование базы данных SQL в виртуальной машине Azure и активация резервных копий по запросу с помощью Azure CLI. Эти действия также можно выполнить с помощью портала Azure.
В этой статье предполагается, что у вас уже установлена база данных SQL на виртуальной машине Azure. (Вы также можете создать виртуальную машину с помощью Azure CLI.
В этой статье вы узнаете, как:
- Создайте хранилище для служб восстановления
- Регистрация SQL Server и обнаружение баз данных на нем
- Включение резервного копирования в базе данных SQL
- Активирование резервного копирования по запросу
См. поддерживаемые в настоящее время сценарии ДЛЯ SQL на виртуальной машине Azure.
Предпосылки
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете локально запускать справочные команды CLI, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье о запуске Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье "Использование расширений и управление ими" с помощью Azure CLI.
Запустите az version , чтобы найти установленные версии и зависимые библиотеки. Чтобы обновить до последней версии, выполните az upgrade.
Создайте хранилище для служб восстановления
Хранилище служб восстановления — это логический контейнер, в котором хранятся резервные данные для каждого защищенного ресурса, например виртуальные машины Azure или рабочие нагрузки, работающие на виртуальных машинах Azure, например базы данных SQL или HANA. Когда выполняется задание резервного копирования для защищенного ресурса, в хранилище служб восстановления создается точка восстановления. Позже вы сможете использовать одну из этих точек восстановления, чтобы восстановить данные до определенной точки во времени.
Создайте хранилище служб восстановления с помощью команды az backup vault create . Используйте группу ресурсов и расположение в качестве виртуальной машины, которую вы хотите защитить. Узнайте, как создать виртуальную машину Windows и виртуальную машину Linux с помощью Azure CLI.
Для этой статьи мы будем использовать следующее:
- Группа ресурсов с именем SQLResourceGroup
- Виртуальная машина с именем testSQLVM
- Ресурсы в регионе westus2.
Выполните следующую команду, чтобы создать хранилище с именем SQLVault.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
По умолчанию хранилище Recovery Services настроено на геоизбыточное хранение. Geo-Redundant хранилище данных гарантирует репликацию данных резервного копирования в дополнительный регион Azure, даже если он находится на сотнях миль от основного региона. Если необходимо изменить параметр избыточности хранилища, используйте команду az backup vault backup-properties set.
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
Чтобы проверить, успешно ли создано хранилище, используйте команду az backup vault list . Ответ отображается следующим образом:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
Регистрация и защита SQL Server
Чтобы зарегистрировать SQL Server в хранилище служб восстановления, используйте команду az backup container register . VMResourceId — это идентификатор ресурса виртуальной машины, созданной для установки SQL.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
Замечание
Если виртуальная машина отсутствует в той же группе ресурсов, что и хранилище, SQLResourceGroup использует группу ресурсов, в которой было создано хранилище.
Регистрация SQL Server автоматически обнаруживает все текущие базы данных. Однако для обнаружения новых баз данных, которые могут быть добавлены в будущем, ознакомьтесь с разделом "Обнаружение новых баз данных", добавленных в зарегистрированный раздел SQL Server .
Используйте команду az backup container list , чтобы проверить, успешно ли зарегистрирован экземпляр SQL в хранилище. Ответ отображается следующим образом:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
Замечание
Столбец name в приведенных выше выходных данных ссылается на имя контейнера. Это имя контейнера используется в следующих разделах, чтобы включить резервные копии и активировать их. Например, VMAppContainer; Вычисления; SQLResourceGroup; testSQLVM.
Включение резервного копирования в базе данных SQL
Команда az backup protectable-item list перечисляет все базы данных, обнаруженные на экземпляре SQL, зарегистрированном на предыдущем шаге.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
В этом списке должна находиться база данных, которую вы хотите создать резервную копию, которая отображается следующим образом:
Name Protectable Item Type ParentName ServerName IsProtected
----------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;master SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;model SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;msdb SQLDataBase MSSQLServer testSQLVM NotProtected
Теперь настройте резервное копирование для базы данных sqldatabase; mssqlserver; master.
Чтобы настроить и защитить резервные копии в базе данных одновременно, используйте команду az backup protection enable-for-azurewl . Укажите имя политики, которую вы намерены использовать. Чтобы создать политику с помощью интерфейса командной строки, используйте команду az backup policy create . В этой статье мы использовали политику testSQLPolicy .
az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqldatabase;mssqlserver;master" \
--protectable-item-type SQLDataBase \
--server-name testSQLVM \
--workload-type SQLDataBase \
--output table
Вы можете использовать ту же команду, если у вас есть группа доступности SQL AlwaysOn и хотите определить защищенный источник данных в группе доступности. Здесь тип защищаемого элемента — SQLAG.
Чтобы проверить, завершена ли указанная выше конфигурация резервного копирования, используйте команду az backup job list . Выходные данные отображаются следующим образом:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
Команда az backup job list перечисляет все задания резервного копирования (запланированные или по запросу), которые выполняются или в настоящее время выполняются в защищенной базе данных, помимо других операций, таких как регистрация, настройка резервного копирования и удаление данных резервного копирования.
Замечание
Azure Backup не настраивает автоматическое изменение летнего времени при резервном копировании базы данных SQL, работающей на виртуальной машине Azure.
Измените политику вручную, если это необходимо.
Включение автоматической защиты
Для простой настройки резервного копирования все базы данных, добавленные в будущем, можно автоматически защитить с помощью определенной политики. Чтобы включить автоматическую защиту, используйте команду az backup protection auto-enable-for-azurewl .
Так как инструкция выполняет резервное копирование всех будущих баз данных, операция выполняется на уровне SQLInstance .
az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqlinstance;mssqlserver" \
--protectable-item-type SQLInstance \
--server-name testSQLVM \
--workload-type MSSQL\
--output table
Активирование резервного копирования по запросу
Чтобы активировать резервное копирование по запросу, используйте команду az backup protection backup-now .
Замечание
Срок хранения этой резервной копии определяется типом выполняемой резервной копии по запросу.
- Полные резервные копии по запросу сохраняются не менее 45 дней и не более 99 лет.
- Копирование по запросу только полное принимает любые значения для хранения.
- Разностная функция по запросу сохраняет резервное копирование в соответствии с сохранением запланированных разностных различий, заданных в политике.
- Журнал по запросу сохраняет резервные копии в соответствии с хранением запланированных журналов, заданных в политике.
az backup protection backup-now --resource-group SQLResourceGroup \
--item-name sqldatabase;mssqlserver;master \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--backup-type Full
--retain-until 01-01-2040
--output table
Выходные данные отображаются следующим образом:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
Ответ предоставляет вам имя задания. Это имя задания можно использовать для отслеживания состояния задания с помощью команды az backup job show .
Дальнейшие шаги
- Узнайте, как восстановить базу данных SQL в виртуальной машине Azure с помощью ИНТЕРФЕЙСА командной строки.
- Узнайте, как создать резервную копию базы данных SQL, работающей на виртуальной машине Azure, с помощью портала Azure.
Связанный контент
- Резервное копирование баз данных SQL Server на виртуальных машинах Azure с помощью Azure Backup с помощью REST API.
- Восстановление баз данных SQL Server на виртуальных машинах Azure с помощью REST API.
- Управление базами данных SQL Server на виртуальных машинах Azure с помощью портала Azure, Azure CLI, REST API.