Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или с помощью скриптов. В этой статье описывается, как управлять резервной копией базы данных SQL на виртуальной машине Azure с помощью Azure CLI. Эти действия также можно выполнить с помощью портала Azure.
Замечание
Если вы использовали резервное копирование базы данных SQL в Azure с помощью интерфейса командной строки для резервного копирования базы данных SQL, то вы используете следующие ресурсы:
- Группа ресурсов с именем SQLResourceGroup
- Хранилище с именем SQLVault
- Защищенный контейнер с именем VMAppContainer; Compute; SQLResourceGroup; testSQLVM
- Резервная копия базы данных/элемента с именем sqldatabase;mssqlserver;мастер
- Ресурсы в регионе westus2
Azure CLI упрощает процесс управления базой данных SQL, работающей на виртуальной машине Azure, резервное копирование которой выполняется с помощью Azure Backup. В следующих разделах описывается каждая из операций управления.
Сценарии резервного копирования и восстановления, которые поддерживаются в настоящее время, приведены в таблице поддержки. Часто задаваемые вопросы см. в часто задаваемых вопросах.
Мониторинг заданий резервного копирования и восстановления
Используйте команду az backup job list для мониторинга завершенных или выполняемых в данный момент заданий (резервное копирование или восстановление). Интерфейс командной строки также позволяет приостановить выполняемое в данный момент задание или дождаться его завершения.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
Выходные данные отображаются следующим образом:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Изменение политики
Чтобы изменить политику, лежащую в основе конфигурации резервного копирования SQL, используйте команду az backup policy set . Параметр name в этой команде относится к элементу резервного копирования, политику которого вы хотите изменить. Здесь замените политику базы данных SQL sqldatabase; mssqlserver; мастер с новой политикой newSQLPolicy. Вы можете создавать новые политики с помощью команды az backup policy create .
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
Выходные данные отображаются следующим образом:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Создание политики дифференциального резервного копирования
Чтобы создать политику дифференциального резервного копирования, используйте команду az backup policy create со следующими параметрами:
- --backup-management-type: Рабочая нагрузка Azure.
- --workload-type: база данных SQL.
- --name: Название политики.
- --policy: JSON-файл с соответствующими деталями для расписания и хранения.
- --resource-group: Группа ресурсов хранилища.
- --vault-name: Имя хранилища/
Пример:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Пример JSON (sqlpolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
После успешного создания политики в выходных данных команды отображается JSON политики, который вы передали в качестве параметра при выполнении команды.
Вы можете изменить следующий раздел политики, указав требуемую частоту резервного копирования и срок хранения для разностных резервных копий.
Рассмотрим пример.
{
"policyType": "Differential",
"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 дней, внесите следующие изменения в политику:
- Обновите значение retentionDuration до 60 дней.
- Укажите только субботу в качестве ScheduleRunDays.
{
"policyType": "Differential",
"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
}
}
Защита новых баз данных, добавленных в экземпляр SQL
При регистрации экземпляра SQL в хранилище служб восстановления автоматически обнаруживаются все базы данных в этом экземпляре.
Однако если вы добавили новые базы данных в экземпляр SQL позже, используйте команду az backup protectable-item initialize. Эта команда обнаруживает новые добавленные базы данных.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Затем используйте командлет az backup protectable-item list, чтобы получить список всех баз данных, обнаруженных на SQL сервере. Однако в этот список не входят те базы данных, для которых уже настроено резервное копирование. После обнаружения базы данных, для которой требуется создать резервную копию, обратитесь к разделу Включение резервного копирования базы данных SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Новая база данных, для которой требуется создать резервную копию, отображается в этом списке следующим образом:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Остановка защиты для базы данных SQL
Вы можете прекратить защиту базы данных SQL в следующих процессах:
- остановить все будущие задания резервного копирования и удалить все точки восстановления.
- остановить все будущие задания резервного копирования, но сохранить точки восстановления без изменений.
Если вы решите оставить точки восстановления, учитывайте следующие детали:
- Все точки восстановления остаются нетронутыми навсегда, а процесс очистки останавливается с отключением функции защиты при сохранении данных.
- Вы будете платить за защищенный экземпляр и используемый объем хранилища.
- если вы удалите источник данных без остановки резервного копирования, новые операции резервного копирования будут завершаться сбоем.
Процессы остановки защиты подробно описаны ниже.
Отключите защиту с сохранением данных
Чтобы остановить защиту с сохранением данных, используйте команду az backup protection disable.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--output table
Выходные данные отображаются следующим образом:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Чтобы проверить состояние этой операции, используйте команду az backup job show .
Остановка защиты без сохранения данных
Чтобы остановить защиту без сохранения данных, используйте команду az backup protection disable .
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
Выходные данные отображаются следующим образом:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Чтобы проверить состояние этой операции, используйте команду az backup job show .
Возобновить защиту
Если вы остановите защиту базы данных SQL с сохранением данных, вы сможете возобновить защиту позже. Если вы не сохраните резервные копии данных, вы не сможете возобновить защиту.
Чтобы возобновить защиту, используйте команду az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
Выходные данные отображаются следующим образом:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Чтобы проверить состояние этой операции, используйте команду az backup job show .
Дальнейшие шаги
- Узнайте, как создать резервную копию базы данных SQL, работающей на виртуальной машине Azure, с помощью портала Azure.
- Узнайте, как управлять резервной копией базы данных SQL, работающей на виртуальной машине Azure, с помощью портала Azure.