Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Backup — это специализированное решение на основе потоковой передачи данных для резервного копирования SQL Server, запущенного на виртуальных машинах Azure. Это решение соответствует преимуществам долгосрочного хранения, централизованного управления и резервного копирования без инфраструктуры, предоставляемым Azure Backup. Кроме того, оно предоставляет следующие преимущества специально для SQL Server:
- Резервные копии с учетом рабочей нагрузки, поддерживающие все типы резервного копирования — полное, разностное и резервное копирование журналов.
- 15-минутная целевая точка восстановления (RPO) с частым созданием резервных копий журналов.
- Восстановление до точки во времени с точностью до одной секунды.
- резервное копирование и восстановление на уровне отдельных баз данных.
Сценарии резервного копирования и восстановления, которые поддерживаются в настоящее время, приведены в таблице поддержки.
Процесс резервного копирования
Это решение использует собственные API-интерфейсы SQL для создания резервных копий баз данных SQL.
После того как вы укажете виртуальную машину SQL Server, которую нужно защитить, и выполните запрос баз данных на ней, служба Azure Backup установит на виртуальную машину расширение резервного копирования рабочих нагрузок с именем
AzureBackupWindowsWorkload.Это расширение состоит из координатора и подключаемого модуля SQL. В то время как координатор отвечает за запуск рабочих процессов для различных операций, таких как настройка резервного копирования, резервное копирование и восстановление, подключаемый модуль отвечает за фактический поток данных.
Чтобы иметь возможность обнаруживать базы данных на этой виртуальной машине, Azure Backup создает учетную запись
NT SERVICE\AzureWLBackupPluginSvc. Эта учетная запись используется для резервного копирования и восстановления и требует разрешений системного администратора SQL. Учетная записьNT SERVICE\AzureWLBackupPluginSvc— это учетная запись виртуальной службы, поэтому для нее не требуется управление паролями. Azure Backup будет использовать учетную записьNT AUTHORITY\SYSTEMдля обнаружения и запроса баз данных, поэтому эта учетная запись должна соответствовать общедоступному имени входа в SQL. Если вы не создавали виртуальную машину SQL Server из Azure Marketplace, может появиться ошибка UserErrorSQLNoSysadminMembership. В этом случае выполните эти инструкции.Когда вы запустите настройку защиты для выбранных баз данных, служба резервного копирования установит координатор с расписаниями резервного копирования и другими сведениями о политике, которые расширение кэширует локально на виртуальной машине.
В назначенное время координатор взаимодействует с подключаемым модулем и начинает передавать поток резервных копий данных с сервера SQL с помощью VDI (интерфейс виртуального устройства).
Подключаемый модуль отправляет данные непосредственно в хранилище Служб восстановления, что устраняет необходимость в промежуточном хранении. Данные зашифрованы и хранятся службой Azure Backup в учетных записях хранения.
Когда передача данных завершается, координатор подтверждает фиксацию с помощью службы резервного копирования.
Перед началом работы
Прежде чем начать, убедитесь, что соблюдены следующие требования:
- Убедитесь, что у вас есть экземпляр SQL Server, работающий в Azure. Вы можете быстро создать экземпляр SQL Server в marketplace.
- Просмотрите рекомендации о функциях и сведения о поддержке сценариев.
- Ознакомьтесь с часто задаваемыми вопросами об этом сценарии.
Настройка разрешений виртуальной машины
При запуске обнаружения в SQL Server Azure Backup выполнит следующие действия.
- Добавляет расширение AzureBackupWindowsWorkload.
- Чтобы обнаруживать базы данных на виртуальной машине, Azure Backup создает учетную запись NT SERVICE\AzureWLBackupPluginSvc. Эта учетная запись используется для резервного копирования и восстановления и требует разрешений системного администратора SQL.
- Azure Backup обнаруживает базы данных, работающие на виртуальной машине, используя учетную запись NT AUTHORITY\SYSTEM. Эта учетная запись должна быть общедоступной для входа в SQL.
Если вы не создавали виртуальную машину SQL Server в Azure Marketplace или если вы используете SQL 2008 или SQL 2008 R2, может появиться ошибка UserErrorSQLNoSysadminMembership.
Сведения о предоставлении разрешений для SQL 2008 и SQL 2008 R2, используемых в Windows 2008 R2, см. в этой статье.
Для всех остальных версий следует исправить разрешения с помощью следующих шагов.
Используйте учетную запись с полномочиями sysadmin для входа в SQL Server Management Studio (SSMS). Если вам не требуются специальные разрешения, можно использовать проверку подлинности Windows.
На сервере SQL Server последовательно откройте папки Security (Безопасность) и Logins (Имена входа).
Щелкните правой кнопкой мыши папку Имена для входа и выберите Создать имя для входа. В меню Создание имени входа выберите Поиск.
Учетная запись виртуальной службы Windows NT SERVICE\AzureWLBackupPluginSvc была создана во время регистрации виртуальной машины и обнаружения баз данных SQL. Введите имя учетной записи точно так, как показано в поле Введите имя объекта для выбора. Выберите Проверить имена, чтобы определить имя. Нажмите ОК.
Убедитесь, что в качестве роли сервера выбрана роль sysadmin. Нажмите ОК. Теперь должны существовать необходимые разрешения.
Если экземпляр SQL Server является частью группы доступностиAlways-On (AG), убедитесь, что для учетной записи NT AUTHORITY\SYSTEM включено право VIEW SERVER STATE.
Теперь свяжите базу данных с хранилищем Служб восстановления. В списке Защищенные серверы на портале Azure щелкните правой кнопкой мыши сервер, на котором произошла ошибка, и выберите >Повторно обнаружить базы данных.
Проверьте ход выполнения в области Уведомления. Когда выбранные базы данных будут найдены, появится сообщение об успешном завершении.
Примечание.
Если в среде SQL Server установлено несколько экземпляров SQL Server, то необходимо добавить разрешение sysadmin для учетной записи NT Service\AzureWLBackupPluginSvc для всех этих экземпляров.
Присвоение разрешений администратора SQL в SQL 2008 и SQL 2008 R2
Добавьте в экземпляр SQL Server учетные записи NT AUTHORITY\SYSTEM и NT Service\AzureWLBackupPluginSvc.
Перейдите к экземпляру SQL Server в обозревателе объектов.
Перейдите в раздел "Безопасность -> Имена входа"
Щелкните правой кнопкой мыши по учетным записям и выберите Новая учетная запись.
Перейдите на вкладку "Общие" и в качестве имени входа введите NT AUTHORITY\SYSTEM.
Перейдите к Роли сервера и выберите такие роли, как общедоступная и администратор.
Перейдите в раздел Состояние. Предоставить разрешение на подключение к ядру СУБД и вход как Включено.
Нажмите ОК.
Чтобы добавить логин NT Service\AzureWLBackupPluginSvc в экземпляр SQL Server, повторите ту же последовательность шагов (1–7 выше). Если имя для входа уже существует, убедитесь, что ему присвоена роль администратора сервера и в разделе состояния этому имени предоставлено разрешение на подключение к ядру СУБД и вход в качестве включено.
После предоставления разрешения повторное обнаружение баз данных на портале: Vault > Управление — инфраструктурой резервного копирования > в рабочей нагрузке Azure VM:
Кроме этого, можно автоматизировать раздачу разрешений путем выполнения следующих команд PowerShell в режиме администратора. По умолчанию в качестве имени экземпляра устанавливается значение MSSQLSERVER. При необходимости измените аргумент имени экземпляра в скрипте.
param(
[Parameter(Mandatory=$false)]
[string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
$fullInstance = $env:COMPUTERNAME # In case it is the default SQL Server Instance
}
else
{
$fullInstance = $env:COMPUTERNAME + "\" + $InstanceName # In case of named instance
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
Настройка одновременных резервных копий
Теперь можно настроить резервные копии для сохранения точек восстановления и журналов SQL Server в локальном хранилище и хранилище служб восстановления одновременно.
Чтобы настроить одновременные резервные копии, выполните следующие действия.
C:\Program Files\Azure Workload Backup\bin\pluginsПерейдите в указанное расположение, затем создайте файл PluginConfigSettings.json, если он не находится там.Добавьте сущности пар ключ-значение, разделенные запятыми, с ключами
EnableLocalDiskBackupForBackupTypesиLocalDiskBackupFolderPathв JSON-файл.В разделе
EnableLocalDiskBackupForBackupTypesперечислены типы резервных копий, которые необходимо хранить локально.Например, если вы хотите сохранить полные резервные копии и журналы, укажите
["Full", "Log"]. Чтобы хранить только резервные копии журналов, следует упомянуть["Log"].В разделе
LocalDiskBackupFolderPathукажите путь к локальной папке. Убедитесь, что при указании пути в JSON-файле используется двойная косая черта .Например, если предпочтительный путь для локального резервного копирования —
E:\LocalBackup, укажите этот путь в формате JSON какE:\\LocalBackup.Окончательный код JSON должен выглядеть следующим образом:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }Если в JSON-файле есть другие предварительно заполненные записи, добавьте приведенные выше две записи в нижней части JSON-файла непосредственно перед закрывающей фигурной скобкой.
Чтобы изменения вступили в силу сразу же, а не через час, перейдите в >, щелкните правой кнопкой мыши AzureWLbackupPluginSvc и выберите "Остановить".
Внимание
Это действие отменит все текущие задания резервного копирования.
Правила именования файла резервной копии и структура папок для него будут
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}.Например, если у вас есть база данных
Contosoв экземпляреMSSQLSERVERSQL, файлы будут находиться вE:\LocalBackup\MSSQLSERVER\Contoso.Имя файла — это
VDI device set guid, который используется для операции резервного копирования.Проверьте, есть ли у целевого расположения
LocalDiskBackupFolderPathразрешения на чтение и запись дляNT Service\AzureWLBackupPluginSvc.Примечание.
Для папки на локальных дисках виртуальных машин щелкните правой кнопкой мыши папку и настройте необходимые разрешения на
NT Service\AzureWLBackupPluginSvcвкладке "Безопасность ".Если вы используете сетевую или общую папку SMB, настройте разрешения, выполнив приведенные ниже командлеты PowerShell из пользовательской консоли, у которой уже есть разрешение на доступ к общей папке:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $trueПример:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true
Следующие шаги
- Дополнительные сведения о резервном копировании баз данных SQL Server см. в этой статье.
- Дополнительные сведения о восстановлении резервных копий баз данных SQL Server см. в этой статье.
- Дополнительные сведения об управлении резервными копиями баз данных SQL Server см. в этой статье.