Сведения о резервном копировании SQL Server на виртуальных машинах Azure
Статья
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 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, см. в этой статье.
Для всех остальных версий следует исправить разрешения с помощью следующих шагов.
Войдите в SQL Server Management Studio (SSMS) с помощью учетной записи, имеющей разрешение sysadmin SQL Server. Если вам не требуются специальные разрешения, можно использовать проверку подлинности Windows.
На сервере SQL Server последовательно откройте папки Security (Безопасность) и Logins (Имена входа).
Щелкните правой кнопкой мыши папку Имена для входа и выберите Создать имя для входа. В меню Создание имени входа выберите Поиск.
Учетная запись виртуальной службы Windows NT SERVICE\AzureWLBackupPluginSvc была создана во время регистрации виртуальной машины и обнаружения баз данных SQL. Введите имя учетной записи, как показано в поле Введите имя объекта. Выберите Проверить имена, чтобы разрешить имя. Нажмите ОК.
Убедитесь, что в качестве роли сервера выбрана роль sysadmin. Нажмите ОК. Теперь должны существовать необходимые разрешения.
Теперь свяжите базу данных с хранилищем Служб восстановления. В списке Защищенные серверы на портале 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 приведенных выше). Если имя для входа уже существует, убедитесь, что ему присвоена роль администратора сервера и в разделе состояния этому имени предоставлено разрешение на подключение к ядру СУБД и вход в качестве включено.
После предоставления разрешения повторное обнаружение DOB-объектов на портале: Vault —> управление>инфраструктурой резервного копирования —> рабочая нагрузка на виртуальной машине Azure:
Кроме этого, можно автоматизировать раздачу разрешений путем выполнения следующих команд 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 должен выглядеть следующим образом:
Если в JSON-файле есть другие предварительно заполненные записи, добавьте приведенные выше две записи в нижней части JSON-файла непосредственно перед закрывающей фигурной скобкой.
Чтобы изменения вступили в силу сразу же, а не через час, перейдите в службы TaskManager>, щелкните правой кнопкой мыши 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
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
В этом руководстве вы узнаете, как создавать резервные копии Базы данных SQL Server, запущенной на виртуальной машине Azure, в хранилище Служб восстановления для Azure Backup.
В этой статье описывается восстановление запущенных на виртуальной машине Azure баз данных SQL Server, резервное копирование которых было выполнено с помощью Azure Backup. Можно также использовать восстановление между регионами для восстановления баз данных в дополнительном регионе.
В этой статье приведен обзор параметров и ограничений поддержки при создании резервных копий SQL Server на виртуальных машинах Azure с помощью службы Azure Backup.
В этой статье приведены сведения о том, как выполнить резервное копирование баз данных SQL Server на виртуальных машинах Azure с помощью Azure Backup из хранилища Служб восстановления.