Перенос базы данных SQL Server в Базу данных SQL Azure

Область применения: База данных SQL Azure

Из этой статьи вы узнаете об основных методах переноса базы данных SQL Server 2005 или более поздней версии в Базу данных SQL Azure. Дополнительные сведения о переносе экземпляра SQL Server в Управляемый экземпляр SQL Azure см. в этой статье. Рекомендации по выбору параметров переноса и средств для миграции в Azure SQL см. в статье Миграция в Azure SQL.

Перенос в отдельную базу данных или базу данных в пуле

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

В обоих случаях необходимо обеспечить совместимость базы данных-источника с Базой данных SQL Azure с помощью Data Migration Assistant (DMA). Функции Базы данных SQL Microsoft Azure, не связанные с операциями уровня сервера и операциями между базами данных, практически не отличаются от функций SQL Server. Базы данных и приложения, использующие частично поддерживаемые или неподдерживаемые функции, требуют небольшой доработки для устранения этих несовместимостей перед миграцией базы данных SQL Server.

Примечание

Сведения о переносе в Базу данных SQL Azure баз данных, отличных от SQL Server, в том числе Microsoft Access, Sybase, MySQL Oracle и DB2, см. в блоге, посвященном помощнику по миграции SQL Server.

Метод 1. Миграция с простоем

Используйте этот метод для миграции в отдельную базу данных или базу данных в пуле, если вы можете позволить себе некоторое время простоя или выполняете тестовый перенос рабочей базы данных для последующей полноценной миграции. Руководство см. в статье Migrate a SQL Server database (Миграция базы данных SQL Server).

Ниже представлен общий рабочий процесс переноса базы данных SQL Server в отдельную базу данных или базу данных в пуле с помощью этого метода. Инструкции по миграции в Управляемый экземпляр SQL см. в статье Руководство по переносу SQL Server в Управляемый экземпляр SQL Azure.

Схема переноса VSSSDT

  1. Оцените базу данных для обеспечения совместимости с помощью Data Migration Assistant (DMA) последней версии.
  2. Подготовьте все необходимые исправления в виде скриптов Transact-SQL.
  3. Создайте транзакционно согласованную копию переносимой базы данных-источника или остановите новые транзакции в этой базе данных на время переноса. К методам выполнения последнего действия относится отключение подключений клиентов или создание моментального снимка базы данных. После переноса можно использовать репликацию транзакций для обновления перенесенных баз данных с учетом изменений, которые были внесены после точки отсчета переноса. См. раздел Метод 2. Использование репликации транзакций.
  4. Разверните скрипты Transact-SQL для применения исправлений к копии базы данных.
  5. Перенесите копию базы данных в новую базу данных в службе "База данных SQL Azure", используя Помощник по миграции данных.

Примечание

Вместо DMA можно также использовать BACPAC-файл. См. статью Импорт BACPAC-файла в новую базу данных в Базе данных SQL Azure.

Оптимизация производительности передачи данных во время миграции

Ниже представлены рекомендации по оптимизации производительности во время импорта.

  • Выберите наивысший уровень служб и объем вычислительных ресурсов, который позволяет бюджет, чтобы увеличить производительность передачи данных. Чтобы сэкономить деньги, вы можете уменьшить производительность после завершения миграции.
  • Минимизируйте расстояние между BACPAC-файлом и целевым центром обработки данных.
  • Отключите автоматическую статистику во время миграции.
  • Секционированные таблицы и индексы
  • Удалите индексированные представления и заново создайте их по завершении миграции.
  • Скопируйте редко запрашиваемые исторические данные в другую базу данных, а затем перенесите их в отдельную базу данных в службе "База данных SQL Azure". Затем вы сможете запросить эти данные с помощью эластичных запросов.

Оптимизация производительности после завершения миграции

Обновите статистику с использованием полной проверки после завершения миграции.

Метод 2. Использование репликации транзакций

Если вы не можете отключить базу данных SQL Server от рабочих процессов на время миграции, можете воспользоваться репликацией транзакций SQL Server в качестве решения для миграции. Чтобы использовать этот метод, база данных-источник должна соответствовать требованиям к репликации транзакций и быть совместимой с Базой данных SQL Azure. Получите дополнительные сведения о настройке репликации для групп доступности AlwaysOn (SQL Server).

Чтобы использовать это решение, следует настроить базу данных в службе "База данных SQL Azure" в качестве подписчика на экземпляр SQL Server, который требуется перенести. Распространитель репликации транзакций обеспечивает синхронизацию данных из базы данных (издателя) по мере возникновения новых транзакций.

При репликации транзакций все изменения данных или схемы отображаются в базе данных в службе "База данных SQL Azure". После завершения синхронизации и подготовки к миграции измените строку подключения ваших приложений, чтобы направить их в базу данных. После того как репликация транзакций применила все изменения из вашей базы данных-источника и все приложения направлены к базе данных Azure, вы можете удалить репликацию транзакций. Ваша база данных в службе “База данных SQL Azure” теперь является рабочей системой.

Диаграмма SeedCloudTR

Совет

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

Рабочий процесс миграции в базу данных SQL с использованием репликации транзакций

Важно!

Чтобы обеспечить синхронизацию с обновлениями Azure и Базы данных SQL, всегда используйте последнюю версию SQL Server Management Studio. Более старые версии SQL Server Management Studio не позволяют настроить Базу данных SQL как подписчика. Обновите среду SQL Server Management Studio.

  1. Настройка распространения

  2. Создание публикации

  3. Создавать подписку

Некоторые советы и описание различий при миграции в базу данных SQL

  • Использование локального распространителя
    • Это действие влияет на производительность сервера.
    • Если снижение производительности неприемлемо, вы можете использовать другой сервер, но это усложнит управление и администрирование.
  • При выборе папки моментальных снимков убедитесь, что ее емкость достаточна для хранения BCP каждой таблицы, которую требуется реплицировать.
  • Создание моментального снимка блокирует связанные таблицы до завершения операции. Учитывайте это при планировании создания моментальных снимков.
  • В Базе данных SQL Azure поддерживаются только принудительные подписки. Вы можете добавлять только подписчики из базы данных-источника.

Устранение проблем совместимости при миграции базы данных

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

Помимо поиска в Интернете и использования этих ресурсов, можно воспользоваться страницей Майкрософт& с вопросами и ответами для Azure SQL Database или сайтом StackOverflow.

Важно!

Служба "Управляемый экземпляр SQL Azure" позволяет перенести существующий экземпляр SQL Server и его базы данных с минимальными проблемами совместимости или вовсе без них. См. статью Что такое Управляемый экземпляр SQL Azure?

Дальнейшие действия