Восстановление с помощью создаваемых автоматически резервных копий баз данных — База данных SQL Azure и Управляемый экземпляр SQL

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

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

Важно!

При восстановлении существующую базу данных невозможно перезаписать.

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

Время восстановления

На время восстановления базы данных с использованием создаваемых автоматически резервных копий влияет несколько факторов:

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

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

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

Вариант развертывания Максимальное количество одновременно обрабатываемых запросов Максимальное количество одновременно отправляемых запросов
Отдельная база данных (на подписку) 30 100
Эластичный пул (на пул) 4 2000

Встроенный метод для восстановления всего сервера отсутствует. Пример выполнения этой задачи см. на странице База данных SQL Azure: полное восстановление сервера.

Важно!

Чтобы выполнить восстановление с помощью автоматически создаваемых резервных копий, необходимо иметь роль "Участник SQL Server" или "Участник Управляемого экземпляра SQL" (в зависимости от назначения восстановления) в подписке или же быть владельцем подписки. Дополнительные сведения см. в статье Azure RBAC: встроенные роли. Выполнить восстановление можно с помощью портала Azure, PowerShell или REST API. Использовать для этого Transact-SQL невозможно.

Восстановление на момент времени

Вы можете восстановить изолированную базу данных, базу данных в пуле или базу данных экземпляра до предшествующей точки во времени с помощью портала Azure, PowerShell или REST API. Запрос может указывать любой уровень служб или объем вычислительных ресурсов для восстановленной базы данных. Убедитесь, что на сервере, на который выполняется восстановление базы данных, достаточно ресурсов.

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

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

  • Замена базы данных

    Если планируется заменить восстановленной базой данных исходную базу данных, то следует указать объем вычислительных ресурсов и уровень служб исходной базы данных. Можно переименовать исходную базу данных, а затем присвоить восстановленной базе данных исходное имя с помощью команды ALTER DATABASE в T-SQL.

  • Восстановление данных

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

Восстановление до точки во времени на портале Azure

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

База данных SQL

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

Снимок экрана с параметрами восстановления Базы данных SQL.

Управляемый экземпляр SQL

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

Снимок экрана с параметрами восстановления Управляемого экземпляра SQL.

Совет

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

Восстановление удаленной базы данных

Можно восстановить удаленную базу данных до момента удаления или более ранней точки во времени на том же сервере или в том же управляемом экземпляре. Это можно сделать с помощью портала Azure, PowerShell или REST (createMode=Restore). Чтобы восстановить удаленную базу данных, следует создать новую базу данных из резервной копии.

Важно!

При удалении экземпляра сервера или управляемого экземпляра все размещенные в нем базы данных также будут удалены без возможности восстановления. Невозможно восстановить удаленный сервер или управляемый экземпляр.

Восстановление удаленной базы данных на портале Azure

На портале Azure можно восстановить удаленные базы данных из ресурса сервера или управляемого экземпляра.

Совет

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

База данных SQL

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

Снимок экрана, демонстрирующий восстановление удаленной базы данных

Управляемый экземпляр SQL

Чтобы восстановить управляемую базу данных с помощью портала Azure, откройте страницу обзора управляемого экземпляра и выберите Удаленные базы данных. Выберите удаленную базу данных, которую требуется восстановить, и введите имя новой базы данных, которая будет создана из данных, восстановленных из резервной копии.

Снимок экрана, демонстрирующий восстановление удаленной базы данных Управляемого экземпляра SQL Azure

Восстановление удаленной базы данных с помощью PowerShell

Используйте приведенные ниже примеры скриптов для восстановления базы данных, удаленной из Базы данных SQL Azure или Управляемого экземпляра SQL Azure, с помощью PowerShell.

База данных SQL

Пример скрипта PowerShell, показывающий, как восстановить удаленную базу данных в Базе данных SQL Azure, приведен в статье о восстановлении базы данных с помощью PowerShell.

Управляемый экземпляр SQL

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

Совет

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

Геовосстановление

Важно!

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

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

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

Схема геовосстановления

Геовосстановление с помощью портала Azure

На портале Azure создайте новую отдельную базу данных или базу данных управляемого экземпляра и выберите доступную резервную копию геовосстановления. Созданная база данных будет содержать геовосстановленные данные резервной копии.

База данных SQL

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

  1. На панели мониторинга выберите Добавить > Создать базу данных SQL. На вкладке Базовые введите необходимые данные.

  2. выберите Дополнительные параметры;

  3. Для параметра Использовать существующие данные выберите значение Резервная копия.

  4. Для параметра Резервная копия выберите резервную копию из списка доступных резервных копий геовосстановления.

    Снимок экрана: параметры создания базы данных SQL

Завершите создание базы данных из резервной копии. После создания базы данных в Базе данных SQL Azure она будет содержать восстановленную резервную копию для геовосстановления.

Управляемый экземпляр SQL

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

  1. Выберите Новая база данных.

  2. Введите имя базы данных на свой выбор.

  3. Для параметра Использовать существующие данные выберите значение Резервная копия.

  4. Выберите резервную копию из списка доступных резервных копий геовосстановления.

    Снимок экрана: параметры новой базы данных

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

Геовосстановление с помощью PowerShell

База данных SQL

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

Управляемый экземпляр SQL

Сценарий PowerShell, демонстрирующий геовосстановление базы данных управляемого экземпляра, приведен в разделе Восстановление управляемого экземпляра Базы данных SQL Azure в другом географическом регионе с помощью PowerShell.

Рекомендации по геовосстановлению

Невозможно выполнить восстановление до точки во времени базы данных-получателя с георепликацией. Это можно сделать только для базы данных-источника. Дополнительные сведения об использовании геовосстановления для восстановления после сбоя см. в статье Восстановление базы данных SQL Azure или переход на базу данных-получатель при отказе.

Важно!

Геовосстановление представляет самое простое решение для аварийного восстановления, доступное в Базе данных SQL Azure и Управляемом экземпляре SQL. Оно основано на создаваемых автоматически геореплицированных резервных копиях и обеспечивает целевую точку восстановления (RPO) не более 1 часа и предполагаемое время восстановления не более 12 часов. Это не гарантирует, что в целевом регионе будет достаточно емкости для восстановления баз данных после регионального сбоя, так как объем запросов, скорее всего, резко возрастет. Если ваше приложение использует относительно небольшие базы данных и не является критически важным для бизнеса, то геовосстановление будет подходящим решением для аварийного восстановления.

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

Дополнительные сведения о непрерывности бизнес-процессов см. в обзоре обеспечения непрерывности бизнес-процессов.

Программное восстановление с помощью создаваемых автоматически резервных копий

Для восстановления можно также использовать Azure PowerShell или REST API. В приведенных ниже таблицах описан доступный для этого набор команд.

PowerShell

Примечание

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

Важно!

База данных SQL и Управляемый экземпляр SQL Azure все еще поддерживают модуль PowerShell Azure Resource Manager, но в будущем разработка будет осуществляться для модуля Az.Sql. Сведения об этих командлетах см. в разделе AzureRM.Sql. Аргументы команд в модулях Az и Azure Resource Manager практически идентичны.

База данных SQL

Чтобы восстановить изолированную базу данных или базу данных в пуле, ознакомьтесь с описанием командлета Restore-AzSqlDatabase.

Командлет Описание
Get-AzSqlDatabase Получает одну или несколько баз данных.
Get-AzSqlDeletedDatabaseBackup Получает удаленную базу данных, которую можно восстановить.
Get-AzSqlDatabaseGeoBackup Получает геоизбыточную резервную копию базы данных.
Restore-AzSqlDatabase Восстанавливает базу данных.

Совет

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

Управляемый экземпляр SQL

Восстановление базы данных управляемого экземпляра приведено в описании командлета Restore-AzSqlInstanceDatabase.

Командлет Описание
Get-AzSqlInstance Возвращает один или несколько управляемых экземпляров.
Get-AzSqlInstanceDatabase Возвращает базу данных управляемого экземпляра.
Restore-AzSqlInstanceDatabase Восстанавливает базу данных экземпляра.

REST API

Восстановление базы данных с помощью REST API:

API Описание
REST (createMode=Recovery) Восстанавливает базу данных.
Получение, создание или обновление состояния базы данных Возвращает состояние во время операции восстановления.

Azure CLI

База данных SQL

Восстановление базы данных с помощью Azure CLI приведено в описании команды az sql db restore.

Управляемый экземпляр SQL

Чтобы восстановить базу данных управляемого экземпляра с помощью Azure CLI, ознакомьтесь с описанием команды az sql midb restore.

Сводка

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

Дальнейшие действия