Восстановление базы данных SQL Azure поверх существующей базы данных для ведения истории резервного копирования - PullRequest
1 голос
/ 25 сентября 2019

Я устанавливаю базу данных SQL Azure для нашего веб-приложения.Мы включили удержание в точке (PITR) и долгосрочное удержание (LTR).Наш процесс - хранить резервные копии в течение 1 года.

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

Для отката БД я попробовал функцию восстановления.Однако, функция восстановления, кажется, только создает новые БД;в этом и заключается проблема.Восстановление в новую БД и удаление старой прекрасно работает, но мы теряем всю нашу историю резервного копирования.Похоже, что резервные копии устали от БД (вероятно, до ResourceId).

Итак, как я могу использовать Azure SQL DB и периодически восстанавливать БД, сохраняя при этом всю историю резервного копирования?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

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

По умолчанию резервные копии базы данных SQLхранится в гео-реплицированном хранилище больших двоичных объектов (RA-GRS).Для восстановления базы данных с использованием автоматического резервного копирования базы данных доступны следующие параметры: Создайте новую базу данных на том же сервере баз данных SQL, восстановленную к указанному моменту времени в течение срока хранения.

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

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

anttant :

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

"Итак, как я могу использовать Azure SQL DB и периодически восстанавливать базу данных, сохраняя при этом всю историю резервного копирования? "

Вы можете использовать Замена базы данных :

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

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

0 голосов
/ 25 сентября 2019

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

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

...