Автоматическое резервное копирование для виртуальных машин Azure (Resource Manager)

Применимо к:SQL Server на виртуальной машине Azure

Автоматическая архивация автоматически настраивает управляемое резервное копирование в Microsoft Azure для всех существующих и новых баз данных на виртуальной машине Azure под управлением SQL Server 2016 или более поздней версии выпуска Standard, Enterprise или Developer. Это позволяет настроить регулярные резервные копии баз данных, использующие устойчивые Хранилище BLOB-объектов Azure. Автоматическое резервное копирование зависит от расширения агента IaaS для SQL Server.

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

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

Операционная система:

  • Windows Server 2012 R2 и более поздние версии

Версия/выпуск SQL Server

  • SQL Server 2016 или более поздней версии: разработчик, стандартный или корпоративный

Примечание.

При использовании SQL Server 2014 см. статью Автоматизированное резервное копирование для SQL Server 2014.

Конфигурация базы данных:

  • В целевых пользовательских базах данных должна использоваться модель полного восстановления. Системные базы данных не должны использовать модель полного восстановления. Однако если требуется выполнить model резервное копирование журналов или msdbиспользовать модель полного восстановления. Дополнительные сведения о влиянии модели полного восстановления на резервные копии см. в статье Резервное копирование в модели полного восстановления.
  • Виртуальная машина SQL Server зарегистрирована в расширении агента IaaS SQL и включена функция автоматического резервного копирования . Так как автоматическое резервное копирование зависит от расширения, автоматическое резервное копирование поддерживается только в целевых базах данных из экземпляра по умолчанию или одного именованного экземпляра. Если экземпляр по умолчанию отсутствует и несколько именованных экземпляров, расширение агента IaaS SQL завершается ошибкой, и автоматическая архивация не будет работать.

Настройки

В приведенной ниже таблице описаны параметры настройки автоматической архивации. Фактическая процедура настройки может варьироваться в зависимости от того, используете вы портал Azure или команды Azure Windows PowerShell. Автоматическое резервное копирование использует сжатие резервных копий по умолчанию, и его нельзя отключить.

Основные параметры

Параметр Диапазон (по умолчанию) Description
Автоматическое резервное копирование Включено/отключено (отключено) Включает или отключает автоматическое резервное копирование для виртуальной машины Azure под управлением SQL Server 2016 или более поздней версии Developer, Standard или Enterprise.
Срок хранения 1-90 дней (90 дней) Число дней хранения резервных копий.
Учетная запись хранения Учетная запись хранения Azure Учетная запись хранения Azure для хранения файлов автоматической архивации в хранилище больших двоичных объектов. Там же создается контейнер для хранения всех файлов резервных копий. Соглашение об именовании файлов резервных копий включает в себя дату, время и GUID базы данных.
Шифрование Включено/отключено (отключено) Включает или отключает шифрование резервных копий. При включении шифрования резервных копий сертификаты, используемые для восстановления резервной копии, находятся в указанной учетной записи хранения в том же контейнере, используя то же automaticbackup соглашение об именовании. При изменении пароля создается новый сертификат; при этом старый сертификат сохраняется для восстановления предыдущих резервных копий.
Пароль Текст пароля Пароль для ключей шифрования. Этот пароль требуется, только если шифрование включено. Для восстановления зашифрованной резервной копии требуется правильный пароль и соответствующий сертификат, который использовался при создании резервной копии.

Расширенные параметры

Параметр Диапазон (по умолчанию) Description
System Database Backups (Архивация системных баз данных) Включено/отключено (отключено) При включении эта функция также выполняет резервное копирование системных баз данных: master, msdbи model. msdbmodel Для баз данных убедитесь, что они находятся в полной модели восстановления, если требуется выполнить резервное копирование журналов. Резервные копии журналов никогда не используются master, а резервные копии не выполняются tempdb.
Расписание архивации Ручная или автоматическая (автоматическая) По умолчанию расписание резервного копирования определяется автоматически в зависимости от размера журнала. Ручное расписание архивации позволяет пользователю указать временное окно для создания резервных копий. В этом случае резервные копии будут создаваться только с указанной частотой во время указанного временного окна в заданный день.
Full backup frequency (Частота полной архивации) Ежедневно или еженедельно Частота создания полных резервных копий. В обоих случаях полное резервное копирование начинается во время следующего запланированного временного интервала. Если выбрана еженедельная архивация, то она может охватывать несколько дней, пока не будут успешно созданы резервные копии всех баз данных.
Full backup start time (Время начала полной архивации) 00:00–23:00 (01:00) Время начала полной архивации в заданный день.
Full backup time window (Временное окно полной архивации) 1–23 ч (1 ч) Длительность временного окна для полной архивации в заданный день.
Log backup frequency (Частота создания резервных копий журналов) 5–60 мин (60 мин) Частота создания резервных копий журналов.

Основные сведения о частоте полной архивации

Важно понимать разницу между ежедневными и еженедельно полными резервными копиями. Давайте рассмотрим два следующих примера.

Сценарий 1. Еженедельные резервные копии

У вас есть виртуальная машина SQL Server, которая содержит несколько больших баз данных.

В понедельник вы включите автоматическое резервное копирование со следующими параметрами:

  • "Расписание архивации": Ручное;
  • "Full backup frequency" (Частота полной архивации): Еженедельная;
  • "Full backup start time" (Время начала полной архивации): 01:00;
  • "Full backup time window" (Временное окно полной архивации): 1 ч.

Это означает, что следующее доступное окно архивации длительностью в 1 час наступит во вторник в 01:00. В это время служба автоматического резервного копирования начнет по очереди выполнять резервное копирование баз данных. В этом сценарии базы данных достаточно велики, чтобы эта служба успела создать резервные копии нескольких первых баз данных. Однако по прошествии 1 часа все базы данных будут заархивированы.

В этом случае служба автоматического резервного копирования начнет создавать резервные копии остальных баз данных на следующий день, в среду, в 01:00, и будет это делать на протяжении 1 часа. Если и на этот раз будут созданы резервные копии не всех баз данных, то эта служба продолжит резервное копирование на следующий день в то же время. Это будет продолжаться, пока не будет выполнено резервное копирование всех баз данных.

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

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

Сценарий 2. Ежедневные резервные копии

У вас есть виртуальная машина SQL Server, которая содержит несколько больших баз данных.

В понедельник вы включите автоматическое резервное копирование со следующими параметрами:

  • "Расписание архивации": "Ручное";
  • "Full backup frequency" (Частота полной архивации): "Ежедневная";
  • "Full backup start time" (Время начала полной архивации): "22:00";
  • "Full backup time window" (Временное окно полной архивации): "6 ч".

Это означает, что следующее доступное окно архивации длительностью в 6 часов наступит в понедельник в 22:00. В это время служба автоматического резервного копирования начнет по очереди выполнять резервное копирование баз данных.

Затем во вторник в 22:00 снова начнется 6-часовая полное резервное копирование всех баз данных.

Внимание

Резервное копирование происходит последовательно в рамках каждого интервала. Для экземпляров с большим количеством баз данных следует запланировать такой интервал резервного копирования, который предусматривает достаточно времени для обработки всех резервных копий. Если резервное копирование не может завершиться в течение заданного интервала, некоторые резервные копии могут быть пропущены, а время между резервными копиями для отдельной базы данных может быть больше настроенного интервала резервного копирования, что может отрицательно сказаться на целевой точке восстановления (RPO).

Настройка новых виртуальных машин

При создании новой виртуальной машины SQL Server 2016 или более поздней версии с моделью развертывания с помощью Resource Manager настройте автоматическое резервное копирование, используя портал Azure.

На вкладке "Параметры SQL Server" выберите "Включить " в разделе "Автоматическое резервное копирование". При включении автоматического резервного копирования можно настроить следующие параметры:

  • Срок хранения резервных копий (до 90 дней)
  • Учетная запись хранения и контейнер хранилища, используемые для резервных копий
  • параметр шифрования и пароль для резервных копий.
  • Архивация системных баз данных
  • Настроить расписание архивации

Для шифрования резервной копии выберите Включить. Затем введите пароль. Azure создает сертификат для шифрования резервных копий и использует указанный пароль для защиты этого сертификата.

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

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

На следующем снимке экрана портала Azure показана настройка параметров Автоматическое резервное копирование при создании новой виртуальной машины SQL Server:

Снимок экрана: настройка автоматического резервного копирования в портал Azure.

Настройка имеющихся виртуальных машин

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

Выберите "Включить", чтобы настроить параметры автоматического резервного копирования.

Вы можете настроить период хранения (до 90 дней), контейнер для учетной записи хранения, в которой вы хотите хранить резервные копии, а также параметры шифрования и расписание резервного копирования. По умолчанию это расписание автоматизировано.

Снимок экрана: автоматическая архивация для существующих виртуальных машин на портале.

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

Снимок экрана: выбор вручную для настройки собственного расписания резервного копирования.

По завершении нажмите кнопку "Применить" в нижней части страницы параметров резервного копирования, чтобы сохранить изменения.

Если вы впервые включаете автоматическое резервное копирование, Azure настраивает агент IaaS SQL Server в фоновом режиме. При этом портал Azure может не сообщать о том, что выполняется настройка автоматической архивации. Установка и настройка агента занимают несколько минут. После этого новые параметры отобразятся на портале Azure.

Настройка с помощью PowerShell

Для настройки автоматической архивации можно также использовать PowerShell. Предварительно необходимо выполнить следующее.

Примечание.

В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Установка расширения IaaS для SQL Server

Если виртуальная машина SQL Server подготовлена на портале Azure, то на ней уже должно быть установлено расширение IaaS для SQL Server. Вы можете определить, установлен ли он для виртуальной машины, вызвав команду Get-AzVM и проверив свойство Extensions .

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

Если расширение агента IaaS для SQL Server установлено, вы увидите его в списке как "SqlIaaSAgent" или "SQLIaaSExtension". Свойство ProvisioningState для расширения должно иметь значение "Succeeded".

Если он не установлен или не был подготовлен, его можно установить с помощью следующей команды. Кроме имени и группы ресурсов виртуальной машины, необходимо указать регион ($region), в котором она расположена.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Проверка текущих параметров

Если вы включили автоматическое резервное копирование во время подготовки, можете использовать PowerShell для проверки текущей конфигурации. Выполните команду Get-AzVMSqlServerExtension и изучите свойство AutoBackupSettings.

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

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

Enable                      : True
EnableEncryption            : False
RetentionPeriod             : 30
StorageUrl                  : https://test.blob.core.windows.net/
StorageAccessKey            :  
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : Manual
FullBackupFrequency         : WEEKLY
FullBackupStartTime         : 2
FullBackupWindowHours       : 2
LogBackupFrequency          : 60

Если в выходных данных указано, что Enable равно False, то необходимо включить автоматическое резервное копирование. Хорошая новость состоит в том, что включить и настроить автоматическую архивацию можно точно так же. Этот процесс описан в следующем разделе.

Примечание.

Если вы проверяете параметры сразу же после внесения изменений, возможно, вы увидите старые значения конфигурации. Подождите несколько минут и проверьте параметры, чтобы убедиться, что изменения были применены.

Настройка автоматической архивации

Чтобы включить автоматическую архивацию, а также в любое время изменить ее конфигурацию и поведение, можно использовать PowerShell.

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

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Примечание.

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

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

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

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

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Затем используйте команду Update-AzSqlVM , чтобы включить и настроить параметры автоматического резервного копирования для хранения резервных копий в учетной записи хранения Azure. В этом примере резервные копии хранятся в течение 10 дней. Архивация системных баз данных включена. Полные резервные копии запланированы для каждой субботы (еженедельно) с периодом времени, начиная с 20:00 в течение двух часов. Резервные копии журналов создаются каждые 30 минут.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly 
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Установка и настройка агента SQL Server IaaS занимают несколько минут.

Чтобы включить шифрование, измените предыдущий сценарий, чтобы передать параметр -AutoBackupSettingEnableEncryption вместе с паролем (безопасной строкой) для параметра -AutoBackupSettingPassword . Следующий скрипт активирует параметры автоматической архивации их предыдущего примера и добавляет шифрование.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Чтобы убедиться, что параметры были применены, проверьте конфигурацию автоматической архивации.

Отключение автоматической архивации

Чтобы отключить автоматическое резервное копирование, выполните тот же скрипт с параметром -AutoBackupSettingEnable , равным $false в команде Update-AzSqlVM . Задав значение $false отключена функция. Как и установка, отключение автоматической архивации занимает несколько минут.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Пример сценария

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

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension 

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Резервное копирование с помощью сертификатов шифрования

Если вы решите зашифровать резервные копии, сертификат шифрования будет создан и сохранен в той же учетной записи хранения, что и резервные копии. В этом сценарии также потребуется ввести пароль, который будет использоваться для защиты сертификатов шифрования, используемых для шифрования и расшифровки резервных копий. Это позволяет не беспокоиться о резервных копиях за пределами конфигурации этой функции, а также гарантирует, что ваши резервные копии защищены.

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

Если сертификат не удалось отправить по какой-то причине, можно использовать диспетчер сертификатов для экспорта сертификата и его сохранения. Однако вы не хотите сохранить его на той же виртуальной машине, так как это не гарантирует доступ к сертификату при отключении виртуальной машины. Чтобы узнать, был ли сертификат правильно создан после изменения или создания конфигурации автоматического резервного копирования, можно проверка журналы событий на виртуальной машине, и если он не удалось увидеть это сообщение об ошибке:

Снимок экрана: сообщение об ошибке, показанное в журнале событий на виртуальной машине.

Если сертификаты были созданы правильно, вы увидите это сообщение в журналах событий:

Снимок экрана: успешное резервное копирование сертификата шифрования в журналах событий.

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

  1. Убедитесь, что сертификаты шифрования были резервированы, и вы помните пароль. Если этого не сделать, вы не сможете расшифровать и восстановить резервные копии. Если по какой-то причине ваши сертификаты не были должным образом резервированы, это можно сделать вручную, выполнив следующий запрос T-SQL:

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Убедитесь, что файлы резервной копии отправляются по крайней мере с 1 полной резервной копией. Так как ошибки возникают, вы должны быть уверены, что у вас всегда есть хотя бы одна полная резервная копия перед удалением виртуальной машины или в случае повреждения виртуальной машины, поэтому вы знаете, что вы все равно можете получить доступ к данным. Перед удалением дисков данных виртуальной машины необходимо убедиться, что резервная копия в хранилище безопасна и восстановлена.

Наблюдение

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

Во-первых, можно опрашивать состояние, вызывая msdb.managed_backup.sp_get_backup_diagnostics. Можете также запросить функцию с табличным значением msdb.managed_backup.fn_get_health_status.

Другой вариант — воспользоваться преимуществами встроенного компонента Database Mail для отправки уведомлений.

  1. Вызовите хранимую процедуру msdb.managed_backup.sp_set_parameter, чтобы назначить адрес электронной почты параметру SSMBackup2WANotificationEmailIds.
  2. Включите SendGrid для отправки электронных сообщений из виртуальной машины Azure.
  3. SMTP-сервер и имя пользователя позволяют настроить компонент Database Mail. Настроить компонент Database Mail можно в SQL Server Management Studio или с помощью команд Transact-SQL. Дополнительные сведения см. в разделе о компоненте Database Mail.
  4. Настройте почту агента SQL Server для использования компонента Database Mail.
  5. Убедитесь, что SMTP-порт открыт в локальном брандмауэре виртуальных машин и группе безопасности сети виртуальной машины.

Известные проблемы

Рассмотрите эти известные проблемы при работе с функцией автоматического резервного копирования.

Не удается включить автоматическое резервное копирование в портал Azure

В следующей таблице перечислены возможные решения, если у вас возникли проблемы с включением автоматического резервного копирования из портал Azure:

Симптом Решение
Включение автоматического резервного копирования завершится ошибкой, если расширение IaaS находится в состоянии сбоя Восстановите расширение агента IaaS SQL, если оно находится в состоянии сбоя.
Включение автоматического резервного копирования завершается ошибкой, если у вас есть сотни баз данных Это известное ограничение с расширением агента IaaS SQL. Чтобы обойти эту проблему, можно включить управляемое резервное копирование непосредственно вместо расширения агента IaaS SQL для настройки автоматического резервного копирования.
Включение автоматического резервного копирования завершается сбоем из-за проблем с метаданными Остановите службу агента SQL IaaS. Выполните команду T-SQL: use msdb exec autoadmin_metadata_delete Запустите службу агента IaaS SQL и попробуйте повторно включить автоматическое резервное копирование из портал Azure.
Включение автоматизированных резервных копий для FCI Резервные копии с помощью частных конечных точек не поддерживаются. Используйте полный URI учетной записи хранения для резервного копирования.
Резервное копирование нескольких экземпляров SQL с помощью автоматического резервного копирования Автоматическое резервное копирование в настоящее время поддерживает только один экземпляр SQL Server. Если у вас несколько именованных экземпляров и экземпляр по умолчанию, автоматическая архивация работает с экземпляром по умолчанию. Если у вас несколько именованных экземпляров и нет экземпляров по умолчанию, включение автоматического резервного копирования завершится ошибкой.
Автоматическая архивация не может быть включена из-за учетной записи и разрешений Проверьте следующее:
— выполняется агент SQL Server.
— учетная запись NT Service\SqlIaaSExtensionQuery имеет соответствующие разрешения для функции автоматического резервного копирования как в SQL Server, так и для ресурса виртуальных машин SQL в портал Azure.
— Учетная запись SA не переименована, хотя ее можно отключить.
Сбой автоматического резервного копирования для SQL 2016 + Параметр Разрешить общий доступ к BLOB-объектам включен в учетной записи хранения. Это позволяет временно устранить известную проблему.

Распространенные ошибки с автоматизированной или управляемой резервной копией

В следующей таблице перечислены возможные ошибки и решения при работе с автоматическими резервными копиями:

Симптом Решение
Автоматическое или управляемое резервное копирование завершается сбоем из-за подключения к учетной записи хранения или ошибкам времени ожидания Убедитесь, что группа безопасности сети (NSG) для виртуальной сети, а брандмауэр Windows не блокирует исходящие подключения от виртуальной машины к учетной записи хранения через порт 443.
Автоматическая и управляемая резервная копия завершается ошибкой из-за нехватки памяти или ввода-вывода Проверьте, можно ли увеличить максимальный объем памяти сервера и (или) изменить размер диска или виртуальной машины, если вы не используете ограничения ввода-вывода или виртуальной машины. Если вы используете группу доступности, рассмотрите возможность разгрузки резервных копий на дополнительный реплика.
Автоматическое резервное копирование завершается сбоем после переименования сервера Если имя узла компьютера переименовано, необходимо также переименовать имя узла внутри SQL Server.
Ошибка. Сбой операции из-за внутренней ошибки. Аргумент не должен быть пустой строкой.\r\nParameter name: sas Token Пожалуйста, повторите попытку позже Это, вероятно, вызвано тем, что служба агент SQL Server не имеет правильных разрешений олицетворения. Измените службу агент SQL Server, чтобы использовать другую учетную запись для устранения этой проблемы.
Ошибка. Управляемому резервному копированию SQL Server в Microsoft Azure не удается настроить параметры резервного копирования по умолчанию для экземпляра SQL Server, поскольку был указан неправильный URL-адрес контейнера. Кроме того, возможно, указаны неверные учетные данные SAS. Эта ошибка может возникнуть, если у вас большое количество баз данных. Используйте управляемое резервное копирование вместо автоматического резервного копирования.
Автоматическое задание резервного копирования завершилось сбоем после перезапуска виртуальной машины Убедитесь, что служба агента SQL запущена и запущена.
Управляемое резервное копирование периодически завершается сбоем или ошибкой "Истекло время ожидания выполнения" Эта известная проблема устранена в накопительном пакете обновления 18 для SQL Server 2019 и [КБ 4040376] для SQL Server 2014-2017.
Ошибка: удаленный сервер вернул ошибку: (403) Запрещено Восстановите расширение агента IaaS SQL.
Ошибка 3202: запись в учетной записи служба хранилища завершилась ошибкой 13 (недопустимые данные) Удалите неизменяемую политику BLOB-объектов в контейнере хранилища и убедитесь, что учетная запись хранения используется по крайней мере TLS 1.0.

Отключение автоматического резервного копирования или управляемого резервного копирования завершается ошибкой

В следующей таблице перечислены возможные решения, если у вас возникли проблемы с отключением автоматического резервного копирования из портал Azure:

Симптом Решение
Отключение автоматического резервного копирования завершится ошибкой, если расширение IaaS находится в состоянии сбоя Восстановите расширение агента IaaS SQL, если оно находится в состоянии сбоя.
Отключение автоматического резервного копирования завершается сбоем из-за проблем с метаданными Остановите службу агента SQL IaaS. Выполните команду T-SQL: use msdb exec autoadmin_metadata_delete Запустите службу агента SQL Iaas и попробуйте отключить автоматическое резервное копирование из портал Azure.
Автоматическое резервное копирование невозможно отключить из-за учетной записи и разрешений Проверьте следующее:
— выполняется агент SQL Server.
— учетная запись NT Service\SqlIaaSExtensionQuery имеет соответствующие разрешения для функции автоматического резервного копирования как в SQL Server, так и для ресурса виртуальных машин SQL в портал Azure.
— Учетная запись SA не переименована, хотя ее можно отключить.

Я хочу узнать, какая служба или приложение выполняет резервное копирование SQL Server

  • В обозреватель объектов SQL Server Management Studio (SSMS) щелкните правой кнопкой мыши базу данных > Select Reports Standard Reports>>Backup and Restore Events. В отчете можно развернуть раздел успешные операции резервного копирования, чтобы просмотреть журнал резервного копирования.
  • Если вы видите несколько резервных копий в Azure или на виртуальном устройстве, проверка, если вы используете Azure Backup для резервного копирования отдельных баз данных SQL или создания моментального снимка виртуальной машины на виртуальном устройстве, которое использует NT Authority/SYSTEM учетную запись. Если это не так, проверка консоль служб Windows (services.msc) для идентификации любых сторонних приложений, которые могут создавать резервные копии.

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

Автоматическая архивация настраивает управляемое резервное копирование на виртуальных машинах Azure. Поэтому важно ознакомиться с документацией по управляемому резервному копированию , чтобы понять поведение и последствия.

Дополнительные указания по резервному копированию и восстановлению для SQL Server на виртуальных машинах Azure можно найти в этой статье.

Сведения о других доступных задачах автоматизации см. в разделе Расширение агента IaaS для SQL Server.

Дополнительные сведения о запуске SQL Server на виртуальных машинах Azure см. в обзоре использования SQL Server на виртуальных машинах Azure.