Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server на виртуальной машине Azure
Автоматическое резервное копирование автоматически настраивает управляемое резервное копирование в Microsoft Azure для всех существующих и новых баз данных на виртуальных машинах Azure, начиная с SQL Server 2016 или более поздней версии Standard, Enterprise или Developer Edition. Эта функция позволяет настроить регулярные резервные копии базы данных, использующие устойчивое хранилище BLOB-объектов Azure.
Prerequisites
Чтобы использовать автоматизированные резервные копии для SQL Server на виртуальной машине Azure, вам потребуется:
- SQL Server на виртуальных машинах Azure, зарегистрированных с помощью расширения агента SQL IaaS.
- Windows Server 2012 R2 или более поздней версии.
- SQL Server 2016 и более поздних версий. При использовании SQL Server 2014 см. статью Автоматизированное резервное копирование для SQL Server 2014.
- Следующая конфигурация базы данных:
- Целевые пользовательские базы данных должны использовать модель полного восстановления. Системные базы данных не должны использовать модель полного восстановления. Однако, если вам нужно выполнять резервное копирование журналов для
modelилиmsdb, необходимо использовать модель полного восстановления. Дополнительные сведения о влиянии модели полного восстановления на резервные копии см. в статье Резервное копирование в модели полного восстановления. - Виртуальная машина SQL Server должна включать функцию автоматического резервного копирования . Так как автоматическое резервное копирование зависит от расширения, автоматическое резервное копирование поддерживается только в целевых базах данных из экземпляра по умолчанию или одного именованного экземпляра. Если отсутствует экземпляр по умолчанию, а есть несколько именованных экземпляров, расширение агента SQL IaaS не удается, и автоматическая архивация не будет работать.
- Если вы выполняете автоматическое резервное копирование на вторичной реплике группы доступности AlwaysOn, реплика должна быть доступной для успешного чтения резервных копий.
- Целевые пользовательские базы данных должны использовать модель полного восстановления. Системные базы данных не должны использовать модель полного восстановления. Однако, если вам нужно выполнять резервное копирование журналов для
Settings
В приведенной ниже таблице описаны параметры настройки автоматической архивации. Фактическая процедура настройки может варьироваться в зависимости от того, используете вы портал Azure или команды Azure Windows PowerShell. Автоматическое резервное копирование использует сжатие резервных копий по умолчанию, и его нельзя отключить.
Основные параметры
| Setting | Диапазон (по умолчанию) | Description |
|---|---|---|
| Автоматическое резервное копирование | Включение и отключение (отключено) | Включает или отключает автоматическое резервное копирование для виртуальной машины Azure под управлением SQL Server 2016 или более поздней версии Developer, Standard или Enterprise. |
| Период хранения | 1-90 дней (90 дней) | Количество дней, когда служба сохраняет метаданные резервного копирования в msdb. После истечения срока хранения для резервной копии метаданные удаляются из msdbконтейнера хранилища, но файлы не удаляются из контейнера хранилища. Вы можете использовать политику управления жизненным циклом для учетной записи хранения, чтобы сбалансировать длительность хранения резервных копий с управлением затратами в соответствии с вашими бизнес-потребностями. |
| Учетная запись хранения | Учетная запись хранения Azure | Учетная запись хранения Azure для хранения файлов автоматического резервного копирования в хранилище больших двоичных объектов (Blob Storage). Там же создается контейнер для хранения всех файлов резервных копий. Соглашение об именовании файлов резервных копий включает в себя дату, время и GUID базы данных. |
| Encryption | Включение и отключение (отключено) | Включает или отключает шифрование резервных копий. При включении шифрования резервных копий сертификаты, используемые для восстановления резервной копии, находятся в указанной учетной записи хранения в том же контейнере, используя то же automaticbackup соглашение об именовании. При изменении пароля создается новый сертификат; при этом старый сертификат сохраняется для восстановления предыдущих резервных копий. |
| Password | Текст пароля | Пароль для ключей шифрования. Этот пароль требуется, только если шифрование включено. Для восстановления зашифрованной резервной копии требуется правильный пароль и соответствующий сертификат, который использовался при создании резервной копии. |
Расширенные параметры
| Setting | Диапазон (по умолчанию) | Description |
|---|---|---|
| System Database Backups (Архивация системных баз данных) | Включение и отключение (отключено) | При включении эта функция также выполняет резервное копирование системных баз данных: master, msdbи model.
msdb
model Для баз данных убедитесь, что они находятся в полной модели восстановления, если требуется выполнить резервное копирование журналов. Резервные копии журналов никогда не создаются для master, а резервные копии не создаются для tempdb. |
| Расписание резервного копирования | Ручное или автоматизированное (автоматизированное) | По умолчанию расписание резервного копирования определяется автоматически на основе роста журнала. Расписание резервного копирования вручную позволяет пользователю указать время резервного копирования. В этом случае резервные копии будут создаваться только с указанной частотой во время указанного временного окна в заданный день. |
| Полная частота архивации | Daily/Weekly | Частота создания полных резервных копий. В обоих случаях полное резервное копирование начинается во время следующего запланированного временного интервала. При выборе еженедельного выбора резервные копии могут охватывать несколько дней до тех пор, пока все базы данных не будут успешно резервированы. |
| Full backup start time (Время начала полной архивации) | 00:00–23:00 (01:00) | Время начала полной архивации в заданный день. |
| Full backup time window (Интервал времени для полной архивации) | 1–23 ч (1 ч) | Длительность временного окна для полной архивации в заданный день. |
| Log backup frequency (Частота создания резервных копий журналов) | 5–60 мин (60 мин) | Частота создания резервных копий журналов. |
Note
Расписание автоматического резервного копирования создаёт копии на основе роста журналов транзакций. Использование автоматизированных резервных копий, когда базы данных находятся в простом режиме восстановления , не рекомендуется.
Понимание частоты полного резервного копирования
Важно понимать разницу между ежедневными и еженедельно полными резервными копиями. Давайте рассмотрим два следующих примера.
Сценарий 1. Еженедельные резервные копии
У вас есть виртуальная машина SQL Server, содержащая несколько больших баз данных.
В понедельник вы включите автоматическое резервное копирование со следующими параметрами:
- Расписание резервного копирования: вручную
- Полная частота резервного копирования: еженедельно
- Время начала полного резервного копирования: 01:00
- Полное время резервного копирования: 1 час
Эти параметры означают, что следующее доступное окно резервного копирования во вторник в 1 утра в течение 1 часа. В это время служба автоматического резервного копирования начнет по очереди выполнять резервное копирование баз данных. В этом сценарии ваши базы данных достаточно велики, чтобы полные резервные копии завершились для первых нескольких баз данных. Однако после одного часа резервное копирование баз данных выполняется не во всех базах данных.
В этом случае служба автоматического резервного копирования начнет создавать резервные копии остальных баз данных на следующий день, в среду, в 01:00, и будет это делать на протяжении 1 часа. Если в указанный срок резервное копирование не всех баз данных будет выполнено, он пытается снова на следующий день в то же время. Это продолжается до успешного резервного копирования всех баз данных.
Как только наступит следующий вторник, служба автоматического резервного копирования снова начнет создавать резервные копии всех баз данных.
Этот сценарий показывает, что автоматическое резервное копирование будет выполняться только в пределах указанного временного интервала, а резервное копирование каждой базы данных будет выполняться раз в неделю. Кроме того, показано, что резервные копии могут охватывать несколько дней, когда невозможно выполнить все резервные копии за один день.
Сценарий 2. Ежедневные резервные копии
У вас есть виртуальная машина SQL Server, содержащая несколько больших баз данных.
В понедельник вы включите автоматическое резервное копирование со следующими параметрами:
- "Расписание архивации": "Ручное";
- Частота полной резервной копии: Ежедневно
- "Full backup start time" (Время начала полной архивации): "22:00";
- "Full backup time window" (Временное окно полной архивации): "6 ч".
Эти параметры означают, что следующее доступное окно резервного копирования в понедельник в 10 вечера в течение 6 часов. В это время служба автоматического резервного копирования начнет по очереди выполнять резервное копирование баз данных.
Затем во вторник в 10:00 начнется 6-часовое полное резервное копирование всех баз данных.
Important
Резервное копирование происходит последовательно в рамках каждого интервала. Для экземпляров с большим количеством баз данных следует запланировать такой интервал резервного копирования, который предусматривает достаточно времени для обработки всех резервных копий. Если резервные копии не могут завершиться в течение заданного интервала, некоторые резервные копии могут быть пропущены, а время между резервными копиями для одной базы данных может быть выше заданного интервала резервного копирования. Эта ситуация может негативно повлиять на целевую точку восстановления (RPO).
Настройка новых виртуальных машин
При создании новой виртуальной машины SQL Server 2016 или более поздней версии с моделью развертывания с помощью Resource Manager настройте автоматическое резервное копирование, используя портал Azure.
На вкладке "Параметры SQL Server" выберите "Включить " в разделе "Автоматическое резервное копирование". При включении автоматического резервного копирования можно настроить следующие параметры:
- Срок хранения резервных копий (до 90 дней)
- Учетная запись хранения и контейнер хранилища, используемые для резервных копий
- параметр шифрования и пароль для резервных копий.
- Архивация системных баз данных
- Настроить расписание архивации
Для шифрования резервной копии выберите Включить. Затем введите пароль. Azure создает сертификат для шифрования резервных копий и использует указанный пароль для защиты этого сертификата.
Выберите Выбор контейнера хранилища, чтобы указать контейнер, в котором будут храниться резервные копии.
По умолчанию расписание задается автоматически, но можно создать собственное расписание, выбрав параметр Вручную, который позволяет настроить частоту архивации, временной период архивации, и частоту архивации журнала в минутах.
На следующем снимках экрана портала Azure показаны параметры автоматического резервного копирования при создании новой виртуальной машины SQL Server:
Настройка имеющихся виртуальных машин
Для существующих виртуальных машин SQL Server перейдите к ресурсу виртуальных машин SQL, а затем выберите резервные копии, чтобы настроить автоматические резервные копии.
Выберите "Включить" на плитке "Автоматическое резервное копирование ", чтобы настроить параметры автоматического резервного копирования:
На странице "Резервные копии" выберите "Включить автоматическое резервное копирование". Вы можете настроить срок хранения (до 90 дней), контейнер для учетной записи хранения, в которой вы хотите хранить резервные копии, шифрование и расписание резервного копирования. По умолчанию это расписание автоматизировано. Настройте параметры по мере необходимости:
Если вы хотите задать собственное расписание резервного копирования, выберите "Вручную " и настройте частоту резервного копирования, независимо от того, требуется ли резервное копирование системных баз данных и интервал резервного копирования журнала транзакций в минутах.
По завершении нажмите кнопку "Применить" в нижней части страницы параметров резервного копирования , чтобы сохранить изменения.
Если вы впервые включаете автоматическое резервное копирование, Azure настраивает агент IaaS SQL Server в фоновом режиме. При этом портал Azure может не сообщать о том, что выполняется настройка автоматической архивации. Установка и настройка агента занимают несколько минут. После этого новые параметры отобразятся на портале Azure.
Если вы видите только Azure Backup в качестве типа резервного копирования, отключите Azure Backup, удалив связанное хранилище Azure, а затем выберите автоматическое резервное копирование для использования автоматического резервного копирования.
Настройка с помощью PowerShell
Для настройки автоматической архивации можно также использовать PowerShell. Предварительно необходимо выполнить следующее.
- Скачайте и установите последнюю версию Azure PowerShell.
- Откройте Windows PowerShell и свяжите ее с учетной записью с помощью команды Connect-AzAccount .
Установка расширения 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 для расширения также должно отображаться значение "Успешно".
Если он не установлен или не подготовлен, его можно установить с помощью команды Set-AzVMSqlServerExtension . Помимо имени виртуальной машины и группы ресурсов, необходимо также указать регион ($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, необходимо включить автоматическое резервное копирование. Хорошая новость состоит в том, что включить и настроить автоматическую архивацию можно точно так же. Этот процесс описан в следующем разделе.
Note
Если вы проверяете параметры сразу после внесения изменений, возможно, вы вернетесь к старым значениям конфигурации. Подождите несколько минут и проверьте параметры, чтобы убедиться, что изменения были применены.
Настройка автоматической архивации
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 }
Note
Автоматическое резервное копирование не поддерживает хранение резервных копий в хранилище класса Premium, но может создавать резервные копии с дисков виртуальных машин, использующих хранилище класса Premium.
Если вы хотите использовать пользовательский контейнер в учетной записи хранения для резервных копий, используйте следующий сценарий, чтобы проверить наличие контейнера или создать его, если он не существует.
$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 = "<secure password>"
$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
Резервное копирование с помощью сертификатов шифрования
Если вы решите зашифровать резервные копии, сертификат шифрования создается и сохраняется в той же учетной записи хранения, что и резервные копии. В этом сценарии также необходимо ввести пароль, который используется для защиты сертификатов шифрования, используемых для шифрования и расшифровки резервных копий. Это шифрование позволяет не беспокоиться о резервных копиях за пределами конфигурации этой функции, а также гарантирует, что ваши резервные копии защищены.
Если шифрование резервного копирования включено, настоятельно рекомендуется определить, был ли сертификат шифрования успешно создан и отправлен, чтобы обеспечить возможность восстановления баз данных. Это можно сделать, создав базу данных сразу же и проверив правильное резервное копирование сертификатов и данных шифрования в только что созданный контейнер. В этом тесте показано, что все было настроено правильно и не произошло аномалий.
Если сертификат не удалось отправить по какой-то причине, можно использовать диспетчер сертификатов для экспорта сертификата и его сохранения. Чтобы обеспечить доступ к сертификату при отключении виртуальной машины, сохраните сертификат на другой виртуальной машине. Чтобы узнать, правильно ли создан сертификат после изменения или создания конфигурации автоматического резервного копирования, проверьте журналы событий на виртуальной машине. Если сбой произошёл, в журнале событий отображается это сообщение об ошибке.
Если сертификаты были правильно сохранены, это сообщение отображается в журналах событий:
Как правило, рекомендуется проверить работоспособность резервных копий от времени. Чтобы восстановить резервные копии, выполните следующие проверки:
Убедитесь, что сертификаты шифрования были резервированы, и вы помните пароль. Если вы не выполните этот шаг, вы не сможете расшифровать и восстановить резервные копии. Если по какой-то причине ваши сертификаты не были должным образом скопированы, вы можете выполнить эту задачу вручную, выполнив следующий 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>)Убедитесь, что файлы резервной копии отправляются по крайней мере с одной полной резервной копией. Так как ошибки возникают, вы должны быть уверены, что у вас всегда есть хотя бы одна полная резервная копия перед удалением виртуальной машины или в случае повреждения виртуальной машины, поэтому вы знаете, что вы все равно можете получить доступ к данным. Перед удалением дисков данных виртуальной машины необходимо убедиться, что резервная копия в хранилище безопасна и восстановлена.
Мониторинг резервных копий
Для отслеживания автоматического резервного копирования в SQL Server 2016 и более поздних версий есть два основных варианта. Так как автоматическое резервное копирование использует функцию управляемого резервного копирования SQL Server, к обоим этим методам применяются одинаковые способы мониторинга.
Сначала можно провести опрос состояния, вызвав msdb.managed_backup.sp_get_backup_diagnostics. Или выполните запрос к табличной функции msdb.managed_backup.fn_get_health_status.
Другой вариант — воспользоваться преимуществами встроенного компонента Database Mail для отправки уведомлений.
- Вызовите хранимую процедуру msdb.managed_backup.sp_set_parameter , чтобы назначить адрес электронной почты параметру SSMBackup2WANotificationEmailIds .
- Включите SendGrid для отправки сообщений электронной почты из виртуальной машины Azure.
- SMTP-сервер и имя пользователя позволяют настроить компонент Database Mail. Настроить компонент Database Mail можно в SQL Server Management Studio или с помощью команд Transact-SQL. Дополнительные сведения см. в разделе Database Mail.
- Настройте SQL Server Agent для использования Database Mail.
- Убедитесь, что SMTP-порт открыт в локальном брандмауэре виртуальных машин и группе безопасности сети виртуальной машины.
Известные проблемы
Рассмотрите эти известные проблемы при работе с функцией автоматического резервного копирования.
Не удается включить автоматическое резервное копирование в портал Azure
В следующей таблице перечислены возможные решения, если у вас возникли проблемы с включением автоматического резервного копирования из портал Azure:
| Symptom | Solution |
|---|---|
| Включение автоматического резервного копирования завершится ошибкой, если расширение 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-объектам включен в учетной записи хранения. Это решение предоставляет временное решение для известной проблемы. |
| Доступ к учетной записи не имеет достаточных разрешений для выполнения этой операции. | Эта ошибка возникает, когда у пользователя недостаточно разрешений для учетной записи хранения или контейнера, или вы выбираете контейнер по умолчанию $logs для хранилища резервных копий. Чтобы устранить эту проблему, создайте контейнер в учетной записи хранения и используйте этот контейнер для резервных копий вместо контейнера по умолчанию $logs . |
Распространенные проблемы с автоматизированными или управляемыми резервными копиями
В следующей таблице перечислены возможные ошибки и решения при работе с автоматическими резервными копиями:
| Symptom | Solution |
|---|---|
| Автоматическое или управляемое резервное копирование завершается сбоем из-за подключения к учетной записи хранения или ошибкам времени ожидания | Убедитесь, что группа безопасности сети (NSG) для виртуальной сети и брандмауэр (Windows) не блокируют исходящие подключения от виртуальной машины к учетной записи хранения данных через порт 443. |
| Автоматическая или управляемая резервная копия завершается ошибкой из-за давления на память или нагрузку на ввод/вывод | Проверьте, можно ли увеличить максимальный объем памяти сервера и/или изменить размер диска или виртуальной машины, если вы достигаете предела ограничений ввода-вывода или виртуальной машины. Если вы используете группу доступности, рассмотрите возможность переноса резервных копий на вторичную реплику. |
| Автоматическое резервное копирование завершается сбоем после переименования сервера | При переименовании имени узла компьютера необходимо также переименовать имя узла внутри SQL Server. |
| Ошибка. Сбой операции из-за внутренней ошибки. Аргумент не должен быть пустой строкой.\r\nParameter name: sas Token Пожалуйста, повторите попытку позже | Это, вероятно, вызвано тем, что служба агента SQL Server не имеет правильных разрешений на олицетворение. Измените службу агента SQL Server, чтобы использовать другую учетную запись для устранения этой проблемы. |
| Ошибка. Управляемому резервному копированию SQL Server в Microsoft Azure не удается настроить параметры резервного копирования по умолчанию для экземпляра SQL Server, поскольку был указан неправильный URL-адрес контейнера. Возможно, ваши учетные данные SAS недействительны. | Эта ошибка может возникнуть, если у вас большое количество баз данных. Используйте управляемое резервное копирование вместо автоматического резервного копирования. |
| Автоматическое задание резервного копирования завершилось сбоем после перезапуска виртуальной машины | Убедитесь, что служба агента SQL запущена. |
| Управляемое резервное копирование периодически завершается сбоем или ошибкой "Истекло время ожидания выполнения" | Эта известная проблема исправлена в CU18 для SQL Server 2019 и KB4040376 для SQL Server 2014-2017. |
| Ошибка: удаленный сервер вернул ошибку: (403) Запрещено | Восстановите расширение агента IaaS SQL. |
| Ошибка 3202: Запись в учетную запись хранилища завершилась ошибкой 13 (данные недействительны) | Удалите неизменяемую политику BLOB в контейнере хранилища и убедитесь, что учетная запись хранения использует TLS не ниже версии 1.0. |
| Ошибка 3063: запись в устройство блочного BLOB-объекта резервного копирования. На устройстве достигнуто предельное число допустимых блоков. | Это может произойти, если вы выполняете автоматические резервные копии со вторичной реплики группы доступности Always On с конфигурацией ReadableNO. Для автоматического резервного копирования для работы с вторичной репликой реплика должна быть доступной для чтения. |
| Не удается запланировать резервное копирование в определенный день | Если вы используете автоматизированные резервные копии для SQL Server 2014, эта проблема ожидается. Можно настроить расписание резервного копирования, начиная с SQL Server 2016. |
| Ошибка 403: запрещено при подключении к удаленному серверу | Чтобы устранить эту ошибку, выполните указанные ниже действия. - Проверьте безопасность сети: убедитесь, что группа безопасности сети (NSG) разрешает трафик на необходимых портах, особенно для 443 HTTPS. - Проверьте IP-адреса. Убедитесь, что IP-адреса виртуальных машин, которым требуется доступ к учетной записи хранения, добавляются в список разрешенных учетных записей хранения. - Проверьте параметры DNS: убедитесь, что параметры DNS правильно настроены для разрешения имени учетной записи хранения. |
Отключение автоматического резервного копирования или управляемого резервного копирования не удается
В следующей таблице перечислены возможные решения, если у вас возникли проблемы с отключением автоматического резервного копирования из портал Azure:
| Symptom | Solution |
|---|---|
| Отключение автоматического резервного копирования завершается ошибкой, если расширение агента IaaS SQL находится в состоянии сбоя | Восстановите расширение агента 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>>Backup and Restore Events. В отчете можно развернуть раздел успешные операции резервного копирования, чтобы просмотреть журнал резервного копирования.
- Если вы видите несколько резервных копий в Azure или на виртуальном устройстве, проверьте, используется ли azure Backup для резервного копирования отдельных баз данных SQL или создания моментального снимка виртуальной машины на виртуальном устройстве, которое использует
NT Authority/SYSTEMучетную запись. Если это не так, проверьте консоль служб Windows (services.msc), чтобы определить любые сторонние приложения, которые могут создавать резервные копии.