Восстановление базы данных SQL Azure с помощью автоматически создаваемых резервных копий базы данныхRecover an Azure SQL database by using automated database backups

По умолчанию резервные копии базы данных SQL Azure хранятся в геореплицированном хранилище BLOB-объектов (тип хранилища RA-GRS).By default, Azure SQL Database backups are stored in geo-replicated blob storage (RA-GRS storage type). Для восстановления базы данных доступны следующие параметры с помощью автоматически создаваемых резервных копий базы данных.The following options are available for database recovery by using automated database backups. Вы можете:You can:

  • Создайте новую базу данных на том же сервере базы данных SQL, восстановленную до указанной точки во времени в течение срока хранения.Create a new database on the same SQL Database server, recovered to a specified point in time within the retention period.
  • Создайте базу данных на том же сервере базы данных SQL, восстановленную до времени удаления для удаленной базы данных.Create a database on the same SQL Database server, recovered to the deletion time for a deleted database.
  • Создайте новую базу данных на любом сервере базы данных SQL в том же регионе, восстановленном до момента последнего резервного копирования.Create a new database on any SQL Database server in the same region, recovered to the point of the most recent backups.
  • Создайте новую базу данных на любом сервере базы данных SQL в любом другом регионе, восстановленной до момента последнего реплицированного резервного копирования.Create a new database on any SQL Database server in any other region, recovered to the point of the most recent replicated backups.

Если вы настроили долгосрочное хранение резервных копий, можно также создать новую базу данных на основе любой долгосрочной резервной копии хранения на любом сервере базы данных SQL.If you configured backup long-term retention, you can also create a new database from any long-term retention backup on any SQL Database server.

Важно!

Невозможно перезаписать существующую базу данных во время восстановления.You can't overwrite an existing database during restore.

Если вы используете уровни служб "Стандартный" или "Премиум", восстановление базы данных может привести к дополнительным затратам на хранение.When you're using the Standard or Premium service tiers, your database restore might incur an extra storage cost. Дополнительные затраты создаются, если максимальный размер восстанавливаемой базы данных превышает объем хранилища, включенный в уровень служб и производительности целевой базы данных.The extra cost is incurred when the maximum size of the restored database is greater than the amount of storage included with the target database's service tier and performance level. Сведения о ценах на дополнительное хранилище см. на странице цен на Базу данных SQL.For pricing details of extra storage, see the SQL Database pricing page. Если фактический объем используемого пространства меньше, чем Включенный объем хранилища, можно избежать этой дополнительной платы, установив максимальный размер базы данных в включенном объеме.If the actual amount of used space is less than the amount of storage included, you can avoid this extra cost by setting the maximum database size to the included amount.

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

Время восстановления базы данных с помощью автоматически создаваемых резервных копий зависит от ряда факторов.The recovery time to restore a database by using automated database backups is affected by several factors:

  • Размер базы данных.The size of the database.
  • Размер вычислений базы данных.The compute size of the database.
  • Количество задействованных журналов транзакций.The number of transaction logs involved.
  • Объем действий, которые необходимо воспроизвести для восстановления до точки восстановления.The amount of activity that needs to be replayed to recover to the restore point.
  • Пропускная способность сети, если восстановление происходит в другой регион.The network bandwidth if the restore is to a different region.
  • количество одновременных запросов на восстановление, обрабатываемых в целевом регионе.The number of concurrent restore requests being processed in the target region.

Для большой или очень активной базы данных восстановление может занять несколько часов.For a large or very active database, the restore might take several hours. В случае длительного простоя в регионе может быть инициировано большое количество запросов геовосстановления для аварийного восстановления.If there is a prolonged outage in a region, it's possible that a high number of geo-restore requests will be initiated for disaster recovery. При наличии большого числа запросов время восстановления отдельных баз данных может увеличиться.When there are many requests, the recovery time for individual databases can increase. В большинстве случаев на восстановление базы данных требуется менее 12 часов.Most database restores complete in less than 12 hours.

Для одной подписки существуют ограничения на количество одновременных запросов на восстановление.For a single subscription, there are limitations on the number of concurrent restore requests. Эти ограничения применяются к любому сочетанию восстановления на момент времени, георепликации и восстановления из резервной копии долгосрочного хранения.These limitations apply to any combination of point-in-time restores, geo-restores, and restores from long-term retention backup.

Максимальное количество одновременно обрабатываемых запросовMax # of concurrent requests being processed Максимальное количество одновременно отправляемых запросовMax # of concurrent requests being submitted
Отдельная база данных (на подписку)Single database (per subscription) 1010 6060
Эластичный пул (на пул)Elastic pool (per pool) 4.4 200200

Нет встроенного метода для восстановления всего сервера.There isn't a built-in method to restore the entire server. Пример выполнения этой задачи см. в статье база данных SQL Azure: полное восстановление сервера.For an example of how to accomplish this task, see Azure SQL Database: Full Server Recovery.

Важно!

Для восстановления с помощью автоматически создаваемых резервных копий необходимо быть членом роли участника SQL Server в подписке или владельцем подписки.To recover by using automated backups, you must be a member of the SQL Server contributor role in the subscription, or be the subscription owner. Дополнительные сведения см. в разделе RBAC: встроенные роли.For more information, see RBAC: Built-in roles. Восстановление можно выполнить с помощью портал Azure, PowerShell или REST API.You can recover by using the Azure portal, PowerShell, or the REST API. Нельзя использовать Transact-SQL.You can't use Transact-SQL.

Восстановление до точки во времениPoint-in-time restore

Вы можете восстановить изолированную базу данных, которая находится в пуле или экземпляре, до более ранней точки во времени с помощью портал Azure, PowerShellили REST API.You can restore a standalone, pooled, or instance database to an earlier point in time by using the Azure portal, PowerShell, or the REST API. Запрос может указывать любой уровень служб или размер вычислений для восстанавливаемой базы данных.The request can specify any service tier or compute size for the restored database. Убедитесь в наличии достаточного количества ресурсов на сервере, на котором выполняется восстановление базы данных.Ensure that you have sufficient resources on the server to which you are restoring the database. По завершении инструкция RESTORE создает новую базу данных на том же сервере, что и исходная база данных.When complete, the restore creates a new database on the same server as the original database. В восстановленной базе данных оплаты начисляются по нормальным тарифам, исходя из уровня служб и размера вычислений.The restored database is charged at normal rates, based on its service tier and compute size. Плата не взимается, пока восстановление базы данных не будет завершено.You don't incur charges until the database restore is complete.

Обычно база данных восстанавливается до более ранней точки во времени.You generally restore a database to an earlier point for recovery purposes. Восстановленную базу данных можно считать заменой исходной базы данных или использовать ее в качестве источника данных для обновления исходной базы данных.You can treat the restored database as a replacement for the original database, or use it as a data source to update the original database.

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

    Если восстанавливаемая база данных планируется заменить исходной базой данных, следует указать размер вычислений и уровень служб исходной базы данных.If you intend the restored database to be a replacement for the original database, you should specify the original database's compute size and service tier. Затем можно переименовать исходную базу данных и присвоить восстановленной базе данных исходное имя с помощью команды ALTER DATABASE в T-SQL.You can then rename the original database, and give the restored database the original name by using the ALTER DATABASE command in T-SQL.

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

    Если планируется получение данных из восстановленной базы данных для восстановления после ошибки пользователя или приложения, необходимо написать и выполнить сценарий восстановления данных, который извлекает данные из восстановленной базы данных и применяется к исходной базе данных.If you plan to retrieve data from the restored database to recover from a user or application error, you need to write and execute a data recovery script that extracts data from the restored database and applies to the original database. Несмотря на то, что операция восстановления может занять много времени, восстанавливаемая база данных будет отображаться в списке баз данных на протяжении всего процесса.Although the restore operation may take a long time to complete, the restoring database is visible in the database list throughout the restore process. Если удалить базу данных во время восстановления, операция восстановления будет отменена, и не будет взиматься дополнительная стоимость базы данных, которая не выполнила восстановление.If you delete the database during the restore, the restore operation will be canceled and you will not be charged for the database that did not complete the restore.

Восстановление до точки во времени с помощью портал AzurePoint-in-time restore by using Azure portal

Вы можете восстановить отдельную базу данных SQL или базу данных экземпляра до точки во времени из колонки обзора базы данных, которую необходимо восстановить в портал Azure.You can recover a single SQL database or instance database to a point in time from the overview blade of the database you want to restore in the Azure portal.

Отдельная база данных SQL AzureSingle Azure SQL database

Чтобы восстановить отдельную базу данных или в составе пула на момент времени с помощью портал Azure, откройте страницу Обзор базы данных и выберите восстановить на панели инструментов.To recover a single or pooled database to a point in time by using the Azure portal, open the database overview page, and select Restore on the toolbar. Выберите источник резервного копирования и выберите точку резервного копирования на момент времени, из которой будет создана новая база данных.Choose the backup source, and select the point-in-time backup point from which a new database will be created.

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

База данных управляемого экземпляраManaged instance database

Чтобы восстановить базу данных управляемого экземпляра до точки во времени с помощью портал Azure, откройте страницу Обзор базы данных и выберите восстановить на панели инструментов.To recover a managed instance database to a point in time by using the Azure portal, open the database overview page, and select Restore on the toolbar. Выберите точку резервного копирования на момент времени, из которой будет создана новая база данных.Choose the point-in-time backup point from which a new database will be created.

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

Совет

Сведения о программном восстановлении базы данных из резервной копии см. в разделе программное выполнение восстановления с помощью автоматических резервных копийTo programmatically restore a database from a backup, see Programmatically performing recovery using automated backups.

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

Можно восстановить удаленную базу данных до времени удаления или более ранней точки во времени на том же сервере базы данных SQL или в том же управляемом экземпляре.You can restore a deleted database to the deletion time, or an earlier point in time, on the same SQL Database server or the same managed instance. Это можно сделать с помощью портал Azure, PowerShellили остальных (CreateMode = Restore).You can accomplish this through the Azure portal, PowerShell, or the REST (createMode=Restore). Чтобы восстановить удаленную базу данных, создайте новую базу данных из резервной копии.You restore a deleted database by creating a new database from the backup.

Важно!

При удалении сервера базы данных SQL Azure или управляемого экземпляра все его базы данных также удаляются и не могут быть восстановлены.If you delete an Azure SQL Database server or managed instance, all its databases are also deleted, and can't be recovered. Нельзя восстановить удаленный сервер или управляемый экземпляр.You can't restore a deleted server or managed instance.

Восстановление базы данных удалено с помощью портал AzureDeleted database restore by using the Azure portal

Удаленные базы данных восстанавливаются из портал Azure из ресурса сервера и экземпляра.You restore deleted databases from the Azure portal from the server and instance resource.

Отдельная база данных SQL AzureSingle Azure SQL database

Чтобы восстановить в одной или в пуле удаленную базу данных до времени удаления с помощью портал Azure, откройте страницу Обзор сервера и выберите Удаленные базы данных.To recover a single or pooled deleted database to the deletion time by using the Azure portal, open the server overview page, and select Deleted databases. Выберите удаленную базу данных, которую требуется восстановить, и введите имя новой базы данных, которая будет создана с помощью данных, восстановленных из резервной копии.Select a deleted database that you want to restore, and type the name for the new database that will be created with data restored from the backup.

Снимок экрана: восстановление удаленной базы данных SQL Azure

База данных управляемого экземпляраManaged instance database

Чтобы восстановить управляемую базу данных с помощью портал Azure, откройте страницу Обзор управляемого экземпляра и выберите Удаленные базы данных.To recover a managed database by using the Azure portal, open the managed instance overview page, and select Deleted databases. Выберите удаленную базу данных, которую требуется восстановить, и введите имя новой базы данных, которая будет создана с помощью данных, восстановленных из резервной копии.Select a deleted database that you want to restore, and type the name for the new database that will be created with data restored from the backup.

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

Восстановление базы данных удалено с помощью PowerShellDeleted database restore by using PowerShell

Используйте приведенные ниже примеры сценариев для восстановления удаленной базы данных для базы данных SQL Azure и управляемого экземпляра с помощью PowerShell.Use the following sample scripts to restore a deleted database for Azure SQL Database and a managed instance by using PowerShell.

Отдельная база данных SQL AzureSingle Azure SQL database

Пример сценария PowerShell, показывающий, как восстановить удаленную базу данных SQL Azure, см. в статье Восстановление базы данных SQL с помощью PowerShell.For a sample PowerShell script showing how to restore a deleted Azure SQL database, see Restore a SQL database using PowerShell.

База данных управляемого экземпляраManaged instance database

Пример сценария PowerShell, демонстрирующий восстановление удаленной базы данных экземпляра, см. в разделе Восстановление удаленной базы данных на управляемом экземпляре с помощью PowerShell.For a sample PowerShell script showing how to restore a deleted instance database, see Restore deleted database on managed instance using PowerShell.

Совет

Сведения о программном восстановлении удаленной базы данных см. в разделе программное выполнение восстановления с помощью автоматических резервных копий.To programmatically restore a deleted database, see Programmatically performing recovery using automated backups.

ГеовосстановлениеGeo-restore

Вы можете восстановить базу данных SQL на любой сервер в любом регионе Azure из последней геореплицированной резервной копии.You can restore a SQL database on any server in any Azure region from the most recent geo-replicated backups. При геовосстановлении используется геореплицированная резервная копия в качестве источника.Geo-restore uses a geo-replicated backup as its source. Вы можете запрашивать геовосстановление, даже если база данных или Datacenter недоступны из-за сбоя.You can request geo-restore even if the database or datacenter is inaccessible due to an outage.

Геовосстановление является параметром восстановления по умолчанию, если база данных недоступна из-за инцидента в регионе размещения.Geo-restore is the default recovery option when your database is unavailable because of an incident in the hosting region. Базу данных можно восстановить на сервере в любом другом регионе.You can restore the database to a server in any other region. Между созданием резервной копии и ее георепликацией в большой двоичный объект Azure в другом регионе существует задержка.There is a delay between when a backup is taken and when it is geo-replicated to an Azure blob in a different region. В результате восстановленная база данных может иметь один час за исходной базой данных.As a result, the restored database can be up to one hour behind the original database. На следующем рисунке показана восстановление базы данных из последней доступной резервной копии в другом регионе.The following illustration shows a database restore from the last available backup in another region.

Рисунок географического восстановления

Геовосстановление с помощью портал AzureGeo-restore by using the Azure portal

На портал Azure создайте новую базу данных с одним или управляемым экземпляром и выберите доступную резервную копию геовосстановления.From the Azure portal, you create a new single or managed instance database, and select an available geo-restore backup. Созданная база данных содержит данные географической резервной копии.The newly created database contains the geo-restored backup data.

Отдельная база данных SQL AzureSingle Azure SQL database

Чтобы выполнить геовосстановление отдельной базы данных SQL из портал Azure в выбранном регионе и сервере, выполните следующие действия.To geo-restore a single SQL database from the Azure portal in the region and server of your choice, follow these steps:

  1. На панели мониторингавыберите Добавить > создать базу данных SQL.From Dashboard, select Add > Create SQL Database. На вкладке основные сведения введите необходимые данные.On the Basics tab, enter the required information.

  2. Выберите Дополнительные параметры.Select Additional settings.

  3. Для использования существующих данныхвыберите резервное копирование.For Use existing data, select Backup.

  4. В поле резервное копированиевыберите резервную копию из списка доступных резервных копий геовосстановления.For Backup, select a backup from the list of available geo-restore backups.

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

Завершите процесс создания новой базы данных из резервной копии.Complete the process of creating a new database from the backup. При создании отдельной базы данных SQL Azure она содержит восстановленную резервную копию геовосстановления.When you create the single Azure SQL database, it contains the restored geo-restore backup.

База данных управляемого экземпляраManaged instance database

Для геовосстановления базы данных управляемого экземпляра из портал Azure в существующий управляемый экземпляр в выбранном регионе выберите управляемый экземпляр, на котором нужно восстановить базу данных.To geo-restore a managed instance database from the Azure portal to an existing managed instance in a region of your choice, select a managed instance on which you want a database to be restored. Выполните следующие действия:Follow these steps:

  1. Выберите создать базу данных.Select New database.

  2. Введите имя нужной базы данных.Type a desired database name.

  3. В разделе использовать существующие данныевыберите резервное копирование.Under Use existing data, select Backup.

  4. Выберите резервную копию из списка доступных резервных копий геовосстановления.Select a backup from the list of available geo-restore backups.

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

Завершите процесс создания новой базы данных.Complete the process of creating a new database. При создании базы данных экземпляра она содержит восстановленную резервную копию геовосстановления.When you create the instance database, it contains the restored geo-restore backup.

Геовосстановление с помощью PowerShellGeo-restore by using PowerShell

Отдельная база данных SQL AzureSingle Azure SQL database

Сценарий PowerShell, демонстрирующий выполнение геовосстановления для отдельной базы данных SQL, см. в статье восстановление отдельной базы данных SQL Azure до более ранней точки во времени с помощью PowerShell.For a PowerShell script that shows how to perform geo-restore for a single SQL database, see Use PowerShell to restore an Azure SQL single database to an earlier point in time.

База данных управляемого экземпляраManaged instance database

Сценарий PowerShell, который показывает, как выполнить геовосстановление для базы данных управляемого экземпляра, см. в статье Использование PowerShell для восстановления базы данных управляемого экземпляра в другой географическую область.For a PowerShell script that shows how to perform geo-restore for a managed instance database, see Use PowerShell to restore a managed instance database to another geo-region.

Рекомендации относительно географического восстановленияGeo-restore considerations

Невозможно выполнить восстановление на момент времени в базе данных-получателе с георепликацией.You can't perform a point-in-time restore on a geo-secondary database. Это можно сделать только в базе данных-источнике.You can only do so on a primary database. Дополнительные сведения об использовании геовосстановления для восстановления после сбоя см. в статье Восстановление базы данных SQL Azure или переход на базу данных-получатель при отказе.For detailed information about using geo-restore to recover from an outage, see Recover from an outage.

Важно!

Геовосстановление — это базовое решение для аварийного восстановления, доступное в базе данных SQL.Geo-restore is the most basic disaster recovery solution available in SQL Database. Он использует автоматически созданные геореплицированные резервные копии с целевой точкой восстановления (RPO), равным 1 часу, и оценочным временем восстановления до 12 часов.It relies on automatically created geo-replicated backups with recovery point objective (RPO) equal to 1 hour, and the estimated recovery time of up to 12 hours. Это не гарантирует, что целевой регион будет иметь емкость для восстановления баз данных после регионального сбоя, так как, скорее всего, будет резко возрастать потребность.It doesn't guarantee that the target region will have the capacity to restore your databases after a regional outage, because a sharp increase of demand is likely. Если приложение использует относительно небольшие базы данных и не является критически важным для бизнеса, геовосстановление является подходящим решением для аварийного восстановления.If your application uses relatively small databases and is not critical to the business, geo-restore is an appropriate disaster recovery solution. Для критически важных для бизнеса приложений, требующих больших баз данных и обеспечивающих непрерывность бизнес-процессов, используйте группы автоматической отработки отказа.For business-critical applications that require large databases and must ensure business continuity, use Auto-failover groups. Она предлагает более низкие целевые значения RPO и времени восстановления, и емкость всегда гарантирована.It offers a much lower RPO and recovery time objective, and the capacity is always guaranteed. Дополнительные сведения о непрерывности бизнес-процессов см. в обзоре обеспечения непрерывности бизнес-процессов.For more information on business continuity choices, see Overview of business continuity.

Программное выполнение восстановления с помощью автоматически создаваемых резервных копийProgrammatically performing recovery by using automated backups

Для восстановления можно также использовать Azure PowerShell или REST API.You can also use Azure PowerShell or the REST API for recovery. В приведенных ниже таблицах описан доступный для этого набор команд.The following tables describe the set of commands available.

PowerShellPowerShell

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Важно!

Модуль PowerShell Azure Resource Manager по-прежнему поддерживается базой данных SQL Azure, но вся будущая разработка предназначена для модуля AZ. SQL.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Эти командлеты см. в разделе AzureRM. SQL.For these cmdlets, see AzureRM.Sql. Аргументы для команд в модуле AZ и в модулях AzureRm находятся в отличном экстенте.Arguments for the commands in the Az module and in AzureRm modules are to a great extent identical.

Отдельная база данных SQL AzureSingle Azure SQL database

Сведения о восстановлении изолированной базы данных или в составе пула см. в разделе RESTORE-азсклдатабасе.To restore a standalone or pooled database, see Restore-AzSqlDatabase.

КомандлетCmdlet ОПИСАНИЕDescription
Get-AzSqlDatabaseGet-AzSqlDatabase Получает одну или несколько баз данных.Gets one or more databases.
Get-AzSqlDeletedDatabaseBackupGet-AzSqlDeletedDatabaseBackup Получает удаленную базу данных, которую можно восстановить.Gets a deleted database that you can restore.
Get-AzSqlDatabaseGeoBackupGet-AzSqlDatabaseGeoBackup Получает геоизбыточную резервную копию базы данных.Gets a geo-redundant backup of a database.
Restore-AzSqlDatabaseRestore-AzSqlDatabase Восстанавливает базу данных SQL.Restores a SQL database.

Совет

Пример сценария PowerShell, который показывает, как выполнить восстановление базы данных на момент времени, см. в разделе Восстановление базы данных SQL с помощью PowerShell.For a sample PowerShell script that shows how to perform a point-in-time restore of a database, see Restore a SQL database using PowerShell.

База данных управляемого экземпляраManaged instance database

Сведения о восстановлении базы данных управляемого экземпляра см. в разделе RESTORE-азсклинстанцедатабасе.To restore a managed instance database, see Restore-AzSqlInstanceDatabase.

КомандлетCmdlet ОПИСАНИЕDescription
Get-AzSqlInstanceGet-AzSqlInstance Возвращает один или несколько управляемых экземпляров.Gets one or more managed instances.
Get-АзсклинстанцедатабасеGet-AzSqlInstanceDatabase Возвращает базу данных экземпляра.Gets an instance database.
Restore-AzSqlInstanceDatabaseRestore-AzSqlInstanceDatabase Восстанавливает базу данных экземпляра.Restores an instance database.

Интерфейс REST APIREST API

Для восстановления отдельной базы данных или в составе пула с помощью REST API:To restore a single or pooled database by using the REST API:

APIAPI ОПИСАНИЕDescription
REST (createMode=Recovery)REST (createMode=Recovery) Восстанавливает базу данных.Restores a database.
Получение, создание или обновление состояния базы данныхGet Create or Update Database Status Возвращает состояние во время операции восстановления.Returns the status during a restore operation.

Интерфейс командной строки AzureAzure CLI

Отдельная база данных SQL AzureSingle Azure SQL database

Инструкции по восстановлению отдельной базы данных или в составе пула с помощью Azure CLI см. в разделе AZ SQL DB Restore.To restore a single or pooled database by using the Azure CLI, see az sql db restore.

База данных управляемого экземпляраManaged instance database

Инструкции по восстановлению базы данных управляемого экземпляра с помощью Azure CLI см. в разделе AZ SQL функция MidB Restore.To restore a managed instance database by using the Azure CLI, see az sql midb restore.

summarySummary

Создаваемые автоматически резервные копии позволяют защитить базы данных от ошибок пользователей и приложений, случайного удаления базы данных и длительных простоев.Automatic backups protect your databases from user and application errors, accidental database deletion, and prolonged outages. Эта встроенная возможность доступна для всех уровней служб и объемов вычислительных ресурсов.This built-in capability is available for all service tiers and compute sizes.

Дополнительная информацияNext steps