Резервное копирование и восстановление базы данных Azure SQL

Мы готовим наш план аварийного восстановления для приложения, размещенного в Azure, и я наткнулся на некоторую сбивающую с толку формулировку в документации по восстановлению базы данных.
Насколько я понимаю, резервные копии журналов создаются примерно каждые 5 минут, и они геоизбыточны, но когда я выполняю восстановление с флагом -FromGeoBackup, самая последняя резервная копия старше этой.
Я могу выполнить восстановление на определенный момент времени, используя более свежую резервную копию, но, насколько я понимаю, это можно сделать только на том же сервере .
Что делать, если наш основной центр обработки данных выходит из строя и нам нужно восстановить новый сервер в новом центре обработки данных?
Это единственный способ сделать это через -FromGeoBackup с примерно часовым перерывом в данных или может Я использую геоизбыточные резервные копии журналов, чтобы получить более свежую версию?
При этом используется база данных уровня Standard, если это актуально.


person Adamon    schedule 28.11.2019    source источник


Ответы (2)


Да, если вы не используете отказоустойчивые группы \ георепликацию, тогда у вас есть вариант восстановления по умолчанию - геовосстановление (Restore-AzureRmSqlDatabase -FromGeoBackup). Существует задержка между созданием резервной копии и ее георепликацией в большой двоичный объект Azure в другом регионе. В результате восстановленная база данных может отставать от исходной базы данных на один час. С геовосстановлением RTO составляет 12 часов, а RPO - 1 час.

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

Для групп автоматического переключения при отказе RTO составляет 1 час (чтобы гарантировать, что аварийное переключение оправдано масштабом отключения), а RPO - 5 секунд. Однако при ручном переключении базы данных при отказе RTO составляет 30 с, а RPO - 5 с.

person Alberto Morillo    schedule 29.11.2019

Я думаю, Восстановление на определенный момент времени -FromPointInTimeBackup, может быть, вам больше подходит.

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

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

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

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

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

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

    Ссылка: Restore-AzSqlDatabase

Надеюсь это поможет.

person Leon Yue    schedule 29.11.2019
comment
Спасибо, но это буквально цитирую документацию, что в первую очередь меня запутало. Чтобы было ясно, я не могу выполнить восстановление на определенный момент времени на другом сервере? например, если основной центр обработки данных выйдет из строя ... - person Adamon; 29.11.2019