5 способов миграции вашей локальной базы данных SQL в Azure

Tags: миграция данных, базы данных, SQL, Azure, database

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

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

SQL Server в Azure VM

Управляемый экземпляр

Azure SQL Database (Синглтон/эластичный пул)

Резервное копирование и восстановление

Да

Да

Нет

Отделение/Присоединение

Да

Нет

Нет

Зеркальное отображение/группы доступности

Да

Нет

Нет

Доставка журналов

Да

Нет

Нет

Репликация

Да

Да

Да

DMA/DMS

Да

Да

Да

Массовая нагрузка

Да

Да

Да

 

Почти каждая стратегия, используемая для миграции локального SQL Server, будет работать для SQL Server в виртуальной машине Azure. Это наиболее распространенный способ миграции в облако. Это просто, поскольку по сути это просто перемещение вашего старого сервера на новый сервер. Управляемый экземпляр также позволяет восстанавливать резервные копии собственного SQL Server из локального SQL Server, поэтому он имеет достаточно хорошую совместимость, а перемещение происходит более или менее плавно. Проблема возникает при перемещении существующих баз данных SQL Server в базу данных SQL Azure. Из-за соображений безопасности и различий в инфраструктуре вы не можете восстановить резервную копию SQL Server в Azure. Таким образом, многие люди часто ломают голову над тем, как перенести свои существующие базы данных в базу данных SQL Azure. Вот пять способов перенести вашу локальную базу данных SQL в Azure:

1. Помощник по миграции данных (DMA)/ Служба миграции данных (DMS)

Это сервис / инструмент, специально созданный Azure для этой задачи. Этот инструмент также может выполнять оценки для определения четности функций и проблем совместимости базы данных при перемещении вашего SQL Server к любому из доступных вариантов развертывания SQL Server из локального SQL Server в базу данных SQL Azure. Он предоставит вам отчет с указанием всех этих проблем, а также возможные исправления для различных уровней совместимости баз данных, доступных для выбранной вами цели. Для миграции в DMA/DMS предусмотрены автономные и онлайн-опции. Автономный режим позволяет переносить только схему или схему и данные за один раз. Вероятно, вы будете использовать этот метод для тестирования / POC, для небольших баз данных или для тех приложений, которые могут позволить более длительное время простоя при перемещении данных. Опция онлайн позволяет поддерживать непрерывную синхронизацию локальной базы данных и базы данных SQL Azure после перемещения исходной схемы/данных. Таким образом, у вас будет достаточно времени, чтобы база данных SQL Azure могла быть захвачена, а затем решить, когда следует завершить работу и начать указывать свое приложение на базе данных SQL Azure. В документе Microsoft есть подробное пошаговое руководство по автономной и онлайн-миграции на базу данных SQL Azure.

2. Репликация

Вы можете добавить базу данных SQL Azure в качестве подписчика для репликации транзакций. Это может позволить вам перенести данные и объекты с локального SQL Server в базу данных SQL Azure. Поскольку вы не можете восстановить резервные копии, вы можете инициировать эту репликацию только из снимка. Как и в случае онлайн-миграции для DMS, вы можете начать синхронизацию задолго до запланированной миграции, а когда все будет синхронизировано, решите, когда вы сможете выполнить обрезку, и переназначить свои приложения в базу данных Azure SQL. Стоит отметить, что вы можете копировать таблицы только с первичным ключом. Поэтому, если у вас есть несколько таблиц без них, вам нужно проявить творческий подход или объединить их с другими методами для перемещения этих таблиц.

3. DACPAC

DACPAC - это отдельный файл, содержащий определения для вашей схемы базы данных - таблицы, представления, хранимые процедуры, функции и другие объекты базы данных. Это что-то вроде схемы, только резервная копия. Вы можете создать и восстановить базу данных SQL Azure, используя SSDT, SSMS или SQLpackage.exe. Так как это переносит только вашу схему, вам потребуется связать ее с другими методами, чтобы перенести ваши данные в базу данных SQL Azure. Скорее всего, вы используете это для POC/test или для новых приложений, которые не требуют каких-либо данных для переноса. Вы можете создать файл dacpac и развернуть его, используя SSDT, sqlpackage.exe или SSMS.

4. BACPAC

BACPAC похож на DACPAC, но инкапсулирует как схему, так и данные. Таким образом, вы можете перенести всю базу данных в базу данных SQL Azure. Этот единственный файл хранит информацию в формате JSON. Эта стратегия применима к небольшим базам данных. Вы можете создать файл BACPAC и импортировать его, используя SSDT, sqlpackage.exe или SSMS.

5. Генерация SQL-скриптов

Sql Server Management Studio имеет пользовательский интерфейс для создания сценариев SQL. Вы можете щелкнуть правой кнопкой мыши базу данных->Tasks -> Generate SQL Scripts. Если вы работали с SQL Server, вы, вероятно, использовали это раньше. То, что вы, возможно, раньше не замечали, - это когда вы нажимаете «Advanced», вы можете фактически контролировать то, что предоставляет вам скрипт. В частности, вы можете изменить тип Engined из автономной базы данных или базы данных SQL Azure. Таким образом, предоставленный скрипт совместим с ним. Вы также можете указать тип данных для сценария: выводить только схему или схему вместе с данными. Итак, чего бы это ни стоило, это ваша TSQL-версия DACPAC или BACPAC. Преимущество этого заключается в том, что вы можете добавлять/изменять полученный скрипт TSQL по мере необходимости. Подобно BACPAC, если вы пишете сценарии для данных, это применимо для небольших баз данных, но не для больших баз данных. Если вы просматриваете полученный скрипт, он фактически записывает ваши данные в виде отдельных команд вставки для каждой строки.

 

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

No Comments

Add a Comment