Самая быстрая стратегия резервного копирования/восстановления баз данных Azure SQL?
Каков самый быстрый способ резервного копирования/восстановления базы данных Azure SQL?
Фон: у нас есть база данных размером ~ 40 ГБ и восстанавливается из файла .bacbac(~ 4 ГБ сжатых данных) в основном с помощью службы импорта и экспорта базы данных Azure SQL занимает до 6-8 часов. Создание .bacpac также очень длинное и занимает ~ 2 часа.
UPD:
![enter image description here]()
UPD.
Создание базы данных (кстати, последовательная транзакционная) копия с использованием CREATE DATABASE [DBBackup] AS COPY OF [DB]
занимает всего 15 минут с базой данных 40 ГБ, а восстановление - простое переименование базы данных.
UPD. декабрь 2014 года. Позвольте мне поделиться с вами нашим опытом о наиболее быстром способе схемы миграции DB, в котором мы закончили.
Прежде всего, подход с применением прикладного уровня данных (.bacpac) оказался нецелесообразным для нас после того, как БД стал немного больше, и он также не будет работать для вас, если у вас есть хотя бы один некластеризованный индекс с общий размеp > 2 ГБ, пока вы не отключите некластеризованные индексы перед экспортом - из-за ограничения журнала транзакций Azure SQL.
Мы придерживаемся Мастер миграции Azure, который для передачи данных запускает только BCP для каждой таблицы (параметры BCP настраиваются) и ~ 20 % быстрее, чем подход с .bacpac.
Вот некоторые ошибки, с которыми мы столкнулись с мастером миграции:
- Мы сталкиваемся с проблемами кодирования для строк, отличных от Unicode. Убедиться
что импорт и экспорт BCP выполняется с одинаковой сортировкой. Это переключатель конфигурации
-C ...
, вы можете найти параметры, с помощью которых вызов BCP
в файле .config для приложения MW.
- Учтите, что MW (по крайней мере версия, актуальная в момент написания) запускает BCP с параметрами, которые оставят ограничения в ненадежном состоянии, поэтому не забудьте доверенные ограничения после импорта BCP.
Ответы
Ответ 1
Если ваша база данных составляет 40 ГБ в прошлом, подумайте о том, что резервный сервер базы данных готов к работе, как только основная неисправность станет неисправной.
У вас должен быть второй сервер, работающий рядом с основным сервером БД, который не имеет реальных процедур, кроме синхронизации с основным сервером почасово/ежедневно (в зависимости от того, как часто ваши данные изменяются и сколько времени требуется для запуска этого обработать). Вы также можете рассмотреть возможность создания резервных копий с этого сервера базы данных вместо основного.
Если ваш основной сервер БД не работает - по какой-либо причине - вы можете изменить адрес хоста в своем приложении в базу данных резервного копирования и потратить 8 часов на отладку своего другого сервера, вместо того, чтобы сжимать большие пальцы, ожидая, что Azure Portal будет делайте свое дело, пока ваши клиенты жалуются.
Ваша база данных не должна занимать 6-8 часов для восстановления из резервной копии. Если вы включаете время загрузки/загрузки в этой оценке, вам следует рассмотреть возможность хранения ваших данных в центре данных Azure, а также локально.
Для получения дополнительной информации см. эту статью о непрерывности бизнеса в MSDN:
http://msdn.microsoft.com/en-us/library/windowsazure/hh852669.aspx
Вам нужно специально посмотреть раздел "Коды баз данных", но статья стоит полностью прочитать, если ваша БД настолько велика.
Ответ 2
Azure теперь поддерживает функции восстановления по времени /Geo и функции GeoDR. Вы можете использовать их комбинацию для быстрого резервного копирования/восстановления. Восстановление PiTR и Geo не требует дополнительных затрат, пока вы должны платить за
Географическая реплика
Ответ 3
Существует несколько способов делать резервные копии, восстанавливать и копировать задания на Azure.
- Восстановление по времени.
Azure Service выполняет полную резервную копию, несколько дифференциальных резервных копий и резервных копий t-log каждые 5 минут.
- Восстановление геоданных
то же, что и восстановление по времени. Единственное отличие состоит в том, что он берет избыточную копию из другого хранилища памяти, хранящегося в другом регионе.
- Geo-Replication
То же, что и группы доступности SQL. 4 Replicas Async с возможностями чтения. Выберите регион, чтобы он стал горячим.
Подробнее на сайте Microsoft здесь. Блог здесь.
Ответ 4
База данных Azure SQL уже имеет эти локальные реплики, на которые ссылается Лиам. Вы можете найти более подробную информацию об этих трех локальных репликах здесь http://social.technet.microsoft.com/wiki/contents/articles/1695.inside-windows-azure-sql-database.aspx#High_Availability_with_SQL_Azure
Кроме того, SQL Database недавно представила новые уровни обслуживания, которые включают в себя новое восстановление по времени. Полная информация на http://msdn.microsoft.com/en-us/library/azure/hh852669.aspx
Ответ 5
Ключ должен также использовать правильную стратегию управления данными, которая помогает решить вашу задачу. Неправильная архитектура и подход, чтобы поместить все в облако, могут оказаться катастрофическими... здесь больше читать - http://archdipesh.blogspot.com/2014/03/windows-azure-data-strategies-and.html