Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как восстановить базу данных SQL Server, которая работает на виртуальной машине Azure, и была скопирована службой Azure Backup в хранилище служб восстановления Azure Backup Recovery Services.
В этой статье описывается восстановление баз данных SQL Server. Дополнительные сведения см. в статье Резервное копирование баз данных SQL Server на виртуальных машинах Azure.
Замечание
Дополнительные сведения о поддерживаемых конфигурациях и сценариях можно найти в матрице резервной копии SQL.
Восстановление на момент или точку восстановления
В Azure Backup можно выполнить восстановление баз данных SQL Server, запущенных на виртуальных машинах Azure, следующим образом.
- Восстанавливайте на конкретную дату или время (вплоть до секунды) с помощью резервных копий журнала транзакций. На основе выбранного времени Azure Backup автоматически определяет соответствующее полное разностное резервное копирование и цепочку резервных копий журналов, необходимых для восстановления.
- Восстановите конкретную полную или разностную резервную копию, чтобы восстановиться до определенной точки восстановления.
Восстановление предварительных условий
Перед восстановлением базы данных обратите внимание на следующее:
- Базу данных можно восстановить в экземпляре SQL Server в том же регионе Azure.
- Целевой сервер должен быть зарегистрирован в том же хранилище, что и источник. Если вы хотите восстановить резервные копии в другом хранилище, включите восстановление между подписками.
- Если на сервере запущено несколько экземпляров, все экземпляры должны работать. В противном случае сервер не будет отображаться в списке целевых серверов для восстановления базы данных. Дополнительные сведения см. в шагах по устранению неполадок.
- Чтобы восстановить зашифрованную TDE базу данных на другой СЕРВЕР SQL Server, необходимо сначала восстановить сертификат на целевом сервере.
- Базы данных с поддержкой CDC должны быть восстановлены с помощью параметра "Восстановить в качестве файлов".
- Настоятельно рекомендуется восстановить базу данных master с помощью параметра "Восстановить в качестве файлов ", а затем восстановить с помощью команд T-SQL.
- Для всех системных баз данных (модель, msdb) остановите службу агента SQL Server перед активацией восстановления.
- Закройте все приложения, которые могут попытаться подключиться к любой из этих баз данных.
- Для основных баз данных параметр "Альтернативное расположение " для восстановления не поддерживается. Мы рекомендуем восстановить базу данных master с помощью параметра "Восстановить как файлы ", а затем восстановить с помощью
T-SQL
команд. - Для
msdb
иmodel
, вариант альтернативного расположения для восстановления поддерживается только в том случае, если имя восстановленной базы данных отличается от имени целевой базы данных . Если вы хотите восстановить то же имя с целевой базой данных, рекомендуется восстановить с помощью параметра "Восстановить в качестве файлов ", а затем восстановить с помощьюT-SQL
команд.
Восстановление базы данных
Чтобы восстановить, вам потребуются следующие разрешения:
- Разрешения оператора резервного копирования в хранилище, где выполняется восстановление.
- Доступ участника для записи к исходной виртуальной машине, которая создается резервной копией.
- Доступ вкладчика (пишет) к целевой виртуальной машине:
- Если вы выполняете восстановление на ту же виртуальную машину, это будет исходная виртуальная машина.
- При восстановлении в альтернативном расположении это новая целевая виртуальная машина.
Восстановите следующее:
На портале Azure перейдите в центр резервного копирования и нажмите кнопку "Восстановить".
Выберите SQL в виртуальной машине Azure в качестве типа источника данных, выберите базу данных для восстановления и нажмите кнопку "Продолжить".
В конфигурации восстановления укажите, где (или как) восстановить данные:
Альтернативное расположение — база данных восстановится в другом расположении, а оригинальная база данных-источник будет сохранена.
Перезаписать базу данных: восстановите данные в том же экземпляре SQL Server, что и исходный источник. Этот параметр перезаписывает исходную базу данных.
Это важно
Если выбранная база данных принадлежит группе доступности AlwaysOn, SQL Server не разрешает перезаписывать базу данных. Доступно только альтернативное расположение .
Восстановление в виде файлов: вместо восстановления в качестве базы данных восстановите файлы резервной копии, которые можно восстановить в качестве базы данных позже на любом компьютере, на котором находятся файлы с помощью SQL Server Management Studio.
Восстановление на альтернативное расположение
В меню "Конфигурация восстановления " в разделе " Где восстановить" выберите "Альтернативное расположение".
Выберите имя и экземпляр SQL Server, в который требуется восстановить базу данных.
В поле Имя восстановленной базы данных введите имя целевой базы данных.
Если применимо, выберите "Перезаписать", если база данных с тем же именем уже существует в выбранном экземпляре SQL.
Выберите точку восстановления, и выберите, следует ли восстановить к определенному моменту времени или восстановить до определенной точки восстановления.
В меню "Расширенная конфигурация" :
Если вы хотите сохранить неработоспособную базу данных после восстановления, включите восстановление с помощью NORECOVERY.
Если вы хотите изменить расположение восстановления на целевом сервере, введите новые целевые пути.
Нажмите кнопку "ОК ", чтобы активировать восстановление. Отслеживайте ход восстановления в области Уведомления или в представлении Задания резервного копирования в хранилище.
Замечание
Восстановление на определенный момент времени доступно только для резервных копий журналов для баз данных, которые находятся в полном и массовом режиме восстановления.
Восстановление и перезапись
В меню "Конфигурация восстановления" в разделе "Где восстановить" нажмите кнопку "Перезаписать базу данных>".
В разделе Выбор точки восстановления выберите Журналы (точка во времени), чтобы выполнить восстановление до определенной точки во времени. Или выберите Full & Differential для восстановления в определенную точку восстановления.
Замечание
Восстановление на определенный момент времени доступно только для резервных копий журналов для баз данных, которые находятся в полном и массовом режиме восстановления.
Восстановить в виде файлов
Чтобы восстановить данные резервного копирования в виде файлов .bak вместо базы данных, выберите "Восстановить как файлы". После переноса файлов в указанный путь вы можете перенести эти файлы на любой компьютер, где вы хотите восстановить их как базу данных. Так как эти файлы можно перемещать на любой компьютер, теперь можно восстановить данные между подписками и регионами.
В разделе "Где и как восстановить" выберите "Восстановить как файлы".
Выберите имя SQL Server, в которое требуется восстановить файлы резервной копии.
В пути назначения на сервере введите путь к папке на сервере, выбранном на шаге 2. В этом месте служба сохранит все необходимые файлы резервной копии. Как правило, использование пути к общей сетевой папке или пути к подключенной общей папке Azure, если он указан в качестве пути назначения, упрощает доступ к этим файлам с других компьютеров в той же сети или с подключенной к ним общей папкой Azure.
Замечание
Чтобы восстановить файлы резервной копии базы данных на общей папке Azure, подключенной к целевой зарегистрированной виртуальной машине, убедитесь, что NT AUTHORITY\SYSTEM имеет доступ к общей папке. Чтобы предоставить разрешения на чтение и запись для AFS, смонтированной на виртуальной машине, выполните указанные ниже действия.
- Запустите
PsExec -s cmd
, чтобы войти в оболочку NT AUTHORITY\SYSTEM- Выполнить
cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
- Проверка доступа с помощью
dir \\<storageacct>.file.core.windows.net\<filesharename>
- Выполнить
- Запустите восстановление файлов из Резервного хранилища, используя
\\<storageacct>.file.core.windows.net\<filesharename>
в качестве пути.
Вы можете скачать PsExec на странице Sysinternals .
- Запустите
Нажмите ОК.
Выберите точку восстановления, и выберите, следует ли восстановить к определенному моменту времени или восстановить до определенной точки восстановления.
При восстановлении базы данных SQL на определенный момент времени с помощью восстановления в качестве файлов будут сохранены все точки восстановления от полной резервной копии до выбранной точки во времени. Затем вы можете восстановить эти файлы в качестве базы данных на любом компьютере, где они сохранены, с помощью SQL Server Management Studio.
Восстановление данных до определенной точки во времени
Если вы выбрали Журналы (восстановление до точки во времени) как тип восстановления, выполните следующие действия:
В разделе "Восстановление даты и времени" откройте календарь. В календаре даты, имеющие точки восстановления, отображаются полужирным шрифтом, а текущая дата выделена.
Выберите дату, в которую есть точки восстановления. Невозможно выбрать даты, у которых нет точек восстановления.
После выбора даты график временной шкалы отображает доступные точки восстановления в непрерывном диапазоне.
Укажите время восстановления на графике временной шкалы или выберите время. Затем нажмите кнопку "ОК".
Частичное восстановление в виде файлов
Служба Azure Backup решает, что цепочка файлов будет загружена во время восстановления в виде файлов. Но в некоторых сценариях вам нет смысла скачивать все содержимое снова.
Например, если у вас есть политика резервного копирования с еженедельными полными копиями, ежедневными разностными копиями и журналами, и вы уже скачали файлы для определенной разностной копии. Вы обнаружили, что это не правильная точка восстановления и решили скачать разностную разницу на следующий день. Теперь вам просто нужен разностный файл, так как у вас уже есть начальный полный файл. При частичном восстановлении файлов, предоставляемом Azure Backup, теперь можно исключить полную копию из цепочки загрузки и скачать только дифференциальную копию.
Исключение типов файлов из резервной копии
ExtensionSettingsOverrides.json — это файл JSON (нотация объектов JavaScript), содержащий переопределения для нескольких параметров службы архивации Azure для SQL. Для операции "Частичное восстановление в виде файлов" необходимо добавить новое поле JSON RecoveryPointTypesToBeExcludedForRestoreAsFiles
. Это поле содержит строковое значение, указывающее, какие типы точек восстановления должны быть исключены в следующем восстановлении в качестве операции файлов.
На целевом компьютере, где скачиваются файлы, перейдите в папку "C:\Program Files\Azure Workload Backup\bin"
Создайте файл JSON с именем "ExtensionSettingsOverrides.JSON", если он еще не существует.
Добавьте следующую пару значений ключа JSON
{ "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull" }
Вам не потребуется перезапускать службы. Служба Azure Backup попытается исключить типы резервных копий в цепочке восстановления, как упоминалось в этом файле.
RecoveryPointTypesToBeExcludedForRestoreAsFiles
принимает только определенные значения, которые обозначают точки восстановления, исключаемые в процессе восстановления. Для SQL следующие значения:
- ИсключитьFull (другие типы резервных копий, такие как разностные и журналы, будут загружены, если они присутствуют в цепочке точек восстановления)
- ИсключениеFullAndDifferential (другие типы резервных копий, такие как журналы, будут загружены, если они присутствуют в цепочке точек восстановления)
- ИсключитьFullAndIncremental (другие типы резервных копий, такие как журналы, будут загружены, если они присутствуют в цепочке точек восстановления)
- ExcludeFullAndDifferentialAndIncremental (другие типы резервных копий, такие как журналы, будут загружены, если они присутствуют в цепочке точек восстановления)
Восстановление до определенной точки восстановления
Если вы выбрали Full & Differential (Полная и разностная) как тип восстановления, выполните следующие действия:
Выберите точку восстановления из списка и нажмите кнопку "ОК ", чтобы завершить процедуру точки восстановления.
Замечание
По умолчанию отображаются точки восстановления за последние 30 дней. Вы можете отобразить точки восстановления старше 30 дней, выбрав фильтр и выбрав настраиваемый диапазон.
Восстановление баз данных с большим количеством файлов
Если общий размер строк файлов в базе данных превышает определенное ограничение, Служба архивации Azure сохраняет список файлов базы данных в другом компоненте ямы, чтобы невозможно было задать целевой путь восстановления во время операции восстановления. Вместо этого файлы будут восстановлены в пути по умолчанию SQL.
Восстановление базы данных из файла .bak с помощью SSMS
Операцию "Восстановление в качестве файлов" можно использовать для восстановления файлов базы данных в .bak
формате при восстановлении с портала Azure.
Подробнее.
После завершения восстановления .bak
файла на виртуальную машину Azure можно активировать восстановление с помощью команд TSQL с помощью SSMS.
Чтобы восстановить файлы базы данных на исходном сервере, удалите MOVE
предложение из запроса восстановления TSQL.
Пример
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>'
Замечание
На целевом сервере не должно быть одинаковых файлов базы данных (восстановление с заменой). Кроме того, можно включить мгновенное инициализацию файлов на целевом сервере, чтобы сократить затраты на время инициализации файлов.
Чтобы переместить файлы базы данных с целевого сервера восстановления, можно настроить команду TSQL с помощью MOVE
предложений.
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>' MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>', MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO
Пример
USE [master]
RESTORE DATABASE [test] FROM DISK = N'J:\dbBackupFiles\test.bak' WITH FILE = 1, MOVE N'test' TO N'F:\data\test.mdf', MOVE N'test_log' TO N'G:\log\test_log.ldf', NOUNLOAD, STATS = 5
GO
Если для базы данных существует более двух файлов, можно добавить дополнительные MOVE
предложения в запрос восстановления. Вы также можете использовать SSMS для восстановления базы данных с помощью .bak
файлов.
Подробнее.
Замечание
Для восстановления больших баз данных рекомендуется использовать инструкции TSQL. Если вы хотите переместить определенные файлы базы данных, просмотрите список файлов базы данных в формате JSON, созданном во время операции восстановления в качестве файлов .
Кросс-региональное восстановление
Как один из вариантов восстановления, восстановление между регионами (CRR) позволяет восстановить базы данных SQL, размещенные на виртуальных машинах Azure в дополнительном регионе, который является парным регионом Azure.
Чтобы подключиться к функции, ознакомьтесь с разделом "Перед началом работы".
Чтобы узнать, включен ли CRR, следуйте инструкциям в разделе "Настройка восстановления между регионами"
Просмотр элементов резервного копирования в дополнительном регионе
Если CRR включен, можно просмотреть резервные элементы в дополнительном регионе.
- Перейдите в раздел Хранилище служб восстановления>Архивные элементы на портале.
- Выберите Дополнительный регион, чтобы просмотреть элементы в дополнительном регионе.
Замечание
В списке отображаются только типы управления резервным копированием, поддерживающие функцию межрегиональной репликации. В настоящее время поддерживается только восстановление данных одного дополнительного региона в другом дополнительном регионе.
Восстановление во вторичном регионе
Опыт восстановления пользователей во вторичном регионе будет аналогичен опыту восстановления пользователей в основном регионе. При вводе параметров в области конфигурации восстановления вам будет предложено указать только параметры дополнительного региона. Хранилище должно существовать в дополнительном регионе, а сервер SQL Server должен быть зарегистрирован в хранилище в дополнительном регионе.
Замечание
- После активации восстановления и на этапе передачи данных задание восстановления не может быть отменено.
- Уровень роли и доступа, необходимый для выполнения операции восстановления между регионами — роль оператора резервного копирования в рамках подписки и роль Контрибутор (доступ на запись) на исходных и целевых виртуальных машинах. Для просмотра заданий резервного копирования требуется минимальное разрешение Читатель резервных копий в подписке.
- RPO для данных резервного копирования, доступных во вторичном регионе, составляет 12 часов. Таким образом, при включении CRR RPO для вторичного региона составляет 12 часов плюс длительность частоты журнала (которая может составлять не менее 15 минут).
Узнайте о минимальных требованиях к роли для межрегионального восстановления.
Мониторинг задач восстановления в резервном регионе
На портале Azure перейдите к центру резервного копирования>заданиям резервного копирования.
Операция фильтрации для CrossRegionRestore для просмотра заданий во вторичном регионе.
Восстановление кросс-подписки
Azure Backup теперь позволяет восстановить базу данных SQL в любую подписку (согласно следующим требованиям Azure RBAC) из точки восстановления. По умолчанию Azure Backup выполняет восстановление в той же подписке, где доступны точки восстановления.
При использовании восстановления между подписками (CSR) у вас есть возможность восстановить данные в любую подписку и в любое хранилище в рамках вашего клиента, если доступны разрешения на восстановление. По умолчанию CSR включен во всех хранилищах служб восстановления (существующие и только что созданные хранилища).
Замечание
- Вы можете активировать восстановление кросс-подписки из хранилища Recovery Services.
- CSR поддерживается только для резервного копирования на основе потоковой передачи и не поддерживается для резервного копирования на основе моментальных снимков.
- Межрегиональное восстановление (CRR) с CSR не поддерживается.
Требования к Azure RBAC
Тип операции | Оператор архивации | Хранилище для служб восстановления | Альтернативный оператор |
---|---|---|---|
Восстановление базы данных или восстановление в виде файлов | Virtual Machine Contributor |
Исходная виртуальная машина, для которой создана резервная копия | Вместо встроенной роли можно рассмотреть пользовательскую роль, которая имеет следующие разрешения: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
Virtual Machine Contributor |
Целевая виртуальная машина, в которой будет восстановлена база данных или создаются файлы. | Вместо встроенной роли можно рассмотреть пользовательскую роль, которая имеет следующие разрешения: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
|
Backup Operator |
Целевое хранилище служб восстановления |
По умолчанию CSR включен в хранилище служб восстановления. Чтобы обновить параметры восстановления хранилища служб восстановления, перейдите к разделу "Свойства"> и "Перекрестное восстановление подписки" и внесите необходимые изменения.
Дальнейшие шаги
Управление и мониторинг баз данных SQL Server, резервируемых с помощью Azure Backup.
Связанный контент
- Резервное копирование баз данных SQL Server на виртуальных машинах Azure с помощью Azure Backup с помощью REST API.
- Восстановление баз данных SQL Server на виртуальных машинах Azure с помощью REST API.
- Управление базами данных SQL Server на виртуальных машинах Azure с помощью портала Azure, Azure CLI, REST API.