Мы готовим наш план аварийного восстановления для приложения, размещенного в Azure, и я наткнулся на некоторую сбивающую с толку формулировку в документации по восстановлению базы данных.
Насколько я понимаю, резервные копии журналов создаются примерно каждые 5 минут, и они геоизбыточны, но когда я выполняю восстановление с флагом -FromGeoBackup
, самая последняя резервная копия старше этой.
Я могу выполнить восстановление на определенный момент времени, используя более свежую резервную копию, но, насколько я понимаю, это можно сделать только на том же сервере .
Что делать, если наш основной центр обработки данных выходит из строя и нам нужно восстановить новый сервер в новом центре обработки данных?
Это единственный способ сделать это через -FromGeoBackup
с примерно часовым перерывом в данных или может Я использую геоизбыточные резервные копии журналов, чтобы получить более свежую версию?
При этом используется база данных уровня Standard, если это актуально.
Резервное копирование и восстановление базы данных Azure SQL
Ответы (2)
Да, если вы не используете отказоустойчивые группы \ георепликацию, тогда у вас есть вариант восстановления по умолчанию - геовосстановление (Restore-AzureRmSqlDatabase -FromGeoBackup). Существует задержка между созданием резервной копии и ее георепликацией в большой двоичный объект Azure в другом регионе. В результате восстановленная база данных может отставать от исходной базы данных на один час. С геовосстановлением RTO составляет 12 часов, а RPO - 1 час.
Если восстановление базы данных на час раньше может привести к коммерческой ответственности или ваша организация не может себе этого позволить, вам следует использовать группа отработки отказа s. Это позволяет вашей базе данных (и приложениям) быстро восстановить доступность в другом регионе в случае сбоя.
Для групп автоматического переключения при отказе RTO составляет 1 час (чтобы гарантировать, что аварийное переключение оправдано масштабом отключения), а RPO - 5 секунд. Однако при ручном переключении базы данных при отказе RTO составляет 30 с, а RPO - 5 с.
Я думаю, Восстановление на определенный момент времени -FromPointInTimeBackup
, может быть, вам больше подходит.
Вы можете восстановить автономную базу данных, базу данных в составе пула или базу данных экземпляра до более раннего момента времени с помощью портала Azure, PowerShell или REST API. В запросе можно указать любой уровень обслуживания или размер вычислений для восстановленной базы данных. Убедитесь, что у вас достаточно ресурсов на сервере, на котором вы восстанавливаете базу данных. По завершении восстановления создается новая база данных на том же сервере, что и исходная база данных. За восстановленную базу данных взимается обычная плата в зависимости от уровня обслуживания и размера вычислений. С вас не взимается плата, пока не будет выполнено восстановление базы данных.
Обычно вы восстанавливаете базу данных до более ранней точки в целях восстановления. Вы можете рассматривать восстановленную базу данных как замену исходной базе данных или использовать ее как источник данных для обновления исходной базы данных.
Замена базы данных
- Если вы хотите, чтобы восстановленная база данных заменила исходную базу данных, вы должны указать размер вычислений и уровень обслуживания исходной базы данных. Затем вы можете переименовать исходную базу данных и дать восстановленной базе данных исходное имя с помощью команды ALTER DATABASE в T-SQL.
Восстановление данных
Если вы планируете получать данные из восстановленной базы данных для восстановления после ошибки пользователя или приложения, вам необходимо написать и выполнить сценарий восстановления данных, который извлекает данные из восстановленной базы данных и применяется к исходной базе данных. Хотя операция восстановления может занять много времени, восстанавливаемая база данных отображается в списке баз данных на протяжении всего процесса восстановления. Если вы удалите базу данных во время восстановления, операция восстановления будет отменена, и с вас не будет взиматься плата за базу данных, которая не завершила восстановление.
Ссылка: Restore-AzSqlDatabase
Надеюсь это поможет.