Методы миграции для SQL Server в Fabric Data Warehouse

Применимо к:✅ Хранилище данных в Microsoft Fabric

В этой статье описываются методы миграции хранилищ данных с SQL Server на Microsoft Fabric Data Warehouse.

Подсказка

Для получения дополнительной информации о стратегии и планировании см. раздел «Планирование миграции: SQL Server до Fabric Data Warehouse».

Используйте Fabric Помощник по миграции for Data Warehouse для автоматизации миграции из SQL Server. Остальная часть этой статьи описывает больше шагов ручной миграции.

В следующей таблице приведены методы миграции схемы данных (DDL), кода базы данных (DML) и данных. Каждый вариант описан позже в этой статье.

Опция Метод Что делает Навык или предпочтения Scenario
1 Фабрика данных Преобразование схемы
Извлечение данных
Прием данных
Конвейер Data Factory Упрощённая миграция схемы и данных. Рекомендуется для таблиц измерений.
2 Data Factory с секционированием Преобразование схемы
Извлечение данных
Прием данных
Конвейер в Data Factory Параллельная миграция для больших таблиц фактов.
3 Миграция по схеме Преобразование схемы Конвейер Data Factory Сначала перенесите схему, а затем отдельно извлекайте и загружайте данные, чтобы лучше контролировать пропускную способность.
4 Скрипты для миграции SQL Преобразование схемы
Извлечение данных
Оценка кода
T-SQL Используйте IDE и скрипты для детального контроля над задачами миграции.
5 SQL-проекты баз данных Преобразование схемы
Оценка кода
Проект SQL Используйте проект базы данных для контроля версий, оценки и развертывания.
6 dbt Преобразование схемы
Преобразование кода базы данных
dbt Используйте уже существующий проект DBT, изменив адаптер и конфигурацию цели.

Выбор рабочей нагрузки для начальной миграции

Когда вы решаете, с чего начать проект миграции SQL Server Fabric Data Warehouse, выберите область нагрузки, где вы можете:

  • Докажите жизнеспособность миграции на Fabric Data Warehouse, быстро реализуя преимущества новой среды. Начните с малого и простого и готовьтесь к нескольким небольшим миграциям.
  • Дайте техническому персоналу время, чтобы получить необходимый опыт работы с процессами и инструментами, которые они используют для миграции других рабочих нагрузок.
  • Создайте шаблон для дальнейших миграций, специфичный для вашей среды, инструментов и процессов SQL Server.

Подсказка

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

Объём данных при начальной миграции должен быть достаточно большим, чтобы продемонстрировать возможности и преимущества Fabric Data Warehouse, но достаточно малым, чтобы быстро продемонстрировать ценность. Как правило, такой объем составляет от 1 до 10 терабайт.

Миграция с помощью Fabric Data Factory

Fabric Data Factory предоставляет интерфейс с низким содержанием кода, который может конвертировать DDL таблиц и мигрировать данные с SQL Server.

Фабрика данных Fabric может выполнять следующие задачи:

  • Преобразовать схему (DDL) в синтаксис Fabric Data Warehouse.
  • Создайте объекты схемы в Fabric Data Warehouse.
  • Перенесите данные в Fabric Data Warehouse.

Вариант 1. Схема и миграция данных с помощью Copy Assistant

Этот метод использует помощник копирования Data Factory для подключения к исходной SQL Server базе данных, преобразования таблицы DDL в синтаксис Fabric и копирования данных в Fabric Data Warehouse. Вы можете выбрать одну или несколько исходных таблиц. Сгенерированный конвейер использует активность ForEach для параллельного копирования выбранных таблиц.

При настройке операции копирования:

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

Используйте Copy Assistant для простого интерфейса, который конвертирует DDL и вводит выбранные таблицы за одну операцию. Этот метод хорошо подходит для таблиц размерности и меньших рабочих нагрузок.

Для больших таблиц используйте разбиение для увеличения параллелизма чтения и записи.

Вариант 2. Миграция данных с разбиением

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

Скриншот источника конвейера с опциями динамического диапазона разбиения.

Когда вы используете разбиение:

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

Используйте разбиение Data Factory для больших таблиц фактов, когда параллельная экстракция повышает пропускную способность. Подберите количество пакетов и диапазоны разделов с учетом ресурсов исходной базы данных и пропускной способности сети.

Вариант 3. Миграция по схеме

Для больших баз данных отдельная миграция схем от миграции данных:

  1. Конвертируйте и создайте схемы таблиц в Fabric Data Warehouse.
  2. Извлечение исходных данных в Azure Data Lake Storage (ADLS) Gen2.
  3. Используйте Data Factory или команду COPY INTO, чтобы ввести стадированные данные в Fabric Data Warehouse.

Разделение этих фаз позволяет настраивать экстракцию и поглощение независимо друг от друга.

Миграция схемы с помощью Data Factory

Можно использовать Fabric конвейер для миграции схем таблиц с SQL Server в Fabric Data Warehouse без копирования строк.

Скриншот из Fabric Data Factory, показывающий действие Lookup, подключённое к действию ForEach, которое выполняет перенос DDL.

Настройка параметров конвейера

Создайте SchemaName параметр, который указывает, какие схемы нужно мигрировать. Используйте dbo по умолчанию или введите список с ограничением запятой, например 'dbo','sales'.

Скриншот из Data Factory, показывающий параметр конвейера SchemaName.

Настройте активность поиска

Создайте активность поиска и установите его соединение с исходной базой данных SQL Server. На вкладке Параметры :

  • Установите тип хранилища данных на Внешний.
  • Выберите исходное соединение SQL Server.
  • Поставьте Use query на Query.
  • Добавьте динамический запрос, который возвращает исходную схему и имена таблиц.

Используйте следующее выражение для создания запроса:

@concat('
SELECT s.name AS SchemaName,
t.name AS TableName
FROM sys.tables AS t
INNER JOIN sys.schemas AS s
ON t.type = ''U''
AND s.schema_id = t.schema_id
AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
')

Скриншот из Data Factory, показывающий динамический запрос в активности поиска.

Настройте активность ForEach

Во вкладке «Настройки » для активности ForEach:

  • Отключите Sequential , чтобы итерации выполнялись одновременно.
  • Установите количество пакетов на значение, которое исходная база данных может поддерживать. Начните с консервативного значения и проверьте его.
  • Установите для Items значение @activity('Get List of Source Objects').output.value.

Скриншот с настройками активности ForEach.

Настройте действие копирования

Внутри действия ForEach добавьте действие «Копирование». На вкладке "Источник":

  • Установите тип хранилища данных на Внешний.
  • Выберите исходное соединение SQL Server.
  • Установите для параметра Use query значение Query.
  • Поставьте Запрос так @concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName) , чтобы мигрировали только метаданные таблицы.

Скриншот из Data Factory, показывающий исходные настройки действие Copy.

На вкладке "Назначение ":

  • Установите тип хранилища данных на «Рабочая область».
  • Установите тип хранилища данных Workspace на Data Warehouse и выберите хранилище назначения.
  • Установите схему назначения на @item().SchemaName.
  • Установите таблицу назначения на @item().TableName.

Скриншот из Data Factory, показывающий настройки назначения для действие Copy.

После запуска конвейера убедитесь, что Fabric Data Warehouse содержит каждую выбранную таблицу с ожидаемой схемой.

Миграция с помощью скриптов SQL

Используйте скрипты миграции T-SQL и PowerShell, когда хотите получить детальный контроль над преобразованием схем, извлечением данных и оценкой кода.

Скрипты миграции могут:

  • Преобразовать схему (DDL) в синтаксис Fabric Data Warehouse.
  • Создайте объекты схемы в Fabric Data Warehouse.
  • Извлечение данных из SQL Server в ADLS Gen2.
  • Пометьте неподдерживаемый синтаксис T-SQL в хранимых процедурах, функциях и представлениях.

Команда Microsoft Fabric CAT предоставляет примеры кода для миграции в репозитории fabric-migration.

Используйте скрипты, когда знакомы с T-SQL, предпочитаете интегрированную среду разработки и нуждаетесь в контроле отдельных задач миграции. Используйте COPY INTO или Data Factory, чтобы загрузить извлеченные данные в Fabric Data Warehouse.

Миграция с помощью проектов базы данных SQL

Fabric Data Warehouse поддерживается в расширении SQL Database Projects для Visual Studio Code.

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

  • Преобразовать схему (DDL) в синтаксис Fabric Data Warehouse.
  • Создайте объекты схемы в Fabric Data Warehouse.
  • Оценить неподдерживаемый синтаксис T-SQL в хранимых процедурах, функциях и представлениях.

Для миграции данных используйте Data Factory для прямого копирования из SQL Server или извлекайте данные в ADLS Gen2 и загружайте их с помощью COPY INTO или Data Factory.

Пошаговое руководство по использованию проектов баз данных SQL со скриптами миграции см. в репозитории fabric-migration repository.

Для получения дополнительной информации смотрите раздел «Начать с расширением SQL Database Projects» и «Построить проект базы данных из командной строки».

Миграция с использованием dbt

Если ваше хранилище данных SQL Server использует dbt, вы можете использовать адаптер dbt для Fabric Data Warehouse, чтобы преобразовать код схемы и базы данных, изменив целевой профиль и адаптер.

Фреймворк DBT генерирует скрипты DDL и DML из файлов модели. Вы должны мигрировать данные отдельно, используя Data Factory или другой вариант миграции данных, указанный в этой статье.

Чтобы начать, см. Руководство: Настройте DBT для Fabric Data Warehouse.

Прием данных в Fabric Data Warehouse

Для поэтапных данных используйте COPY INTO или Fabric Data Factory, чтобы загрузить файлы из ADLS Gen2 в Fabric Data Warehouse. Рассмотрим следующее руководство:

  • Извлекать большие таблицы параллельно, когда исходная база данных и сеть имеют достаточную ёмкость.
  • Используйте файлы Parquet, чтобы сократить объём хранилища и сетевого трафика, а также повысить эффективность приема данных.
  • Загружайте несколько целевых таблиц одновременно, если емкость Fabric поддерживает такую нагрузку.
  • Отслеживайте как извлечение источников, так и емкость Fabric, чтобы определить оптимальную степень параллелизма.