Резервное копирование баз данных с поддержкой Stretch (Stretch Database)
Область применения: SQL Server 2016 (13.x) и более поздних версий — только Windows
Внимание
Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Резервные копии позволяют восстанавливать базы данных после различных сбоев, ошибок и аварийных ситуаций.
Резервные копии необходимо создавать для баз данных SQL Server с поддержкой Stretch.
Microsoft Azure автоматически архивирует удаленные данные, которые служба Stretch Database перенесла из SQL Server в Azure.
Создание резервной копии — только часть комплексного решения по обеспечению высокой доступности и непрерывности бизнес-процессов. Дополнительные сведения о высокой доступности см. в статье Решения высокого уровня доступности.
Резервное копирование данных SQL Server
Для резервного копирования баз данных с поддержкой растяжения можно использовать те же методы, что и для резервного копирования SQL Server. Дополнительные сведения см. в статье Резервное копирование и восстановление баз данных SQL Server.
Резервные копии базы данных SQL Server с поддержкой растяжения содержат только локальные данные и данные, доступные для переноса на момент резервного копирования. (Доступные для переноса данные — это данные, которые еще не перемещены, но будут перемещены в Azure с учетом параметров таблиц.) Такое резервное копирование называется поверхностным и не включает данные, уже перенесенные в Azure.
Резервное копирование удаленных данных Azure
Microsoft Azure автоматически архивирует удаленные данные, которые служба Stretch Database перенесла из SQL Server в Azure.
Azure уменьшает риск потери данных за счет автоматического создания резервных копий
Служба SQL Server Stretch Database в Azure защищает удаленные базы данных с помощью автоматического создания моментальных снимков хранилища по крайней мере каждые 8 часов. Каждый снимок хранится в течение семи дней, что позволяет выбрать удобную точку восстановления.
Azure уменьшает риск потери данных за счет геоизбыточности
Резервные копии баз данных Azure хранятся в геоизбыточном хранилище Azure (RA-GRS), а значит, по умолчанию геоизбыточны. Геоизбыточное хранилище реплицирует данные в дополнительный регион, который находится в сотнях километров от основного региона. И в основном, и в дополнительном регионах данные реплицируются по три раза в отдельные домены сбоя и обновления. Это гарантирует, что данные будут сохранены даже в случае региональной аварии или сбоя, в результате которых один из регионов Azure станет недоступен.
Stretch Database снижает риск потери данных Azure за счет временного хранения перенесенных строк
После того, как Stretch Database перенесет пригодные строки из SQL Server в Azure, она хранит их в промежуточной таблице не менее 8 часов. В случае восстановления резервной копии базы данных Azure служба Stretch Database использует строки, сохраненные в промежуточной таблице, для согласования баз данных SQL Server и Azure.
После восстановления резервной копии данных Azure необходимо выполнить хранимую процедуру sys.sp_rda_reauthorize_db , чтобы восстановить подключение базы данных SQL Server с поддержкой Stretch к удаленной базе данных Azure. При запуске sys.sp_rda_reauthorize_db
Stretch Database автоматически согласовывает SQL Server и базы данных Azure.
Чтобы увеличить период временного хранения в промежуточной таблице данных, перенесенных службой Stretch Database, выполните хранимую процедуру sys.sp_rda_set_rpo_duration и укажите число часов больше 8. Определить объем данных для хранения помогут следующие факторы:
- Частота автоматического резервного копирования Azure (не реже, чем раз в 8 часов).
- Время, необходимое для распознавания возникшей проблемы и принятия решения о восстановлении базы данных из резервной копии.
- Длительность операции восстановления Azure.
Примечание.
Увеличение объема данных, которые служба Stretch Database временно хранит в промежуточной таблице, увеличивает требуемый объем пространства SQL Server.
Чтобы узнать, сколько часов данные, перенесенные службой Stretch Database, хранятся в промежуточной таблице в настоящее время, выполните хранимую процедуру sys.sp_rda_get_rpo_duration.