Métodos de migración para SQL Server a Fabric Data Warehouse

Esto se aplica a:✅ Almacén en Microsoft Fabric

Este artículo describe métodos para migrar almacenes de datos de SQL Server a Microsoft Fabric Data Warehouse.

Sugerencia

Para más información sobre estrategia y planificación, véase Planificación migratoria: SQL Server a Fabric Data Warehouse.

Utiliza el Fabric Migration Assistant para Data Warehouse para una experiencia de migración automatizada desde SQL Server. El resto de este artículo describe más pasos manuales de migración.

La siguiente tabla resume métodos para migrar el esquema de datos (DDL), el código de base de datos (DML) y los datos. Cada opción se describe más adelante en este artículo.

Option Method Qué hace Habilidad o preferencia Scenario
1 Fábrica de Datos Conversión de esquemas
Extracción de datos
Ingesta de datos
Canalización de Data Factory Simplificación de la migración de esquemas y datos. Se recomienda para las tablas de dimensiones.
2 Data Factory con particionamiento Conversión de esquemas
Extracción de datos
Ingesta de datos
Canalización de Data Factory Migración paralelizada para tablas de hechos grandes.
3 Migración a esquema primero Conversión de esquemas Canalización de Data Factory Migra primero el esquema y luego extrae e insiente los datos por separado para un mayor control sobre el rendimiento.
4 Scripts de migración de SQL Conversión de esquemas
Extracción de datos
Valoración del código
T-SQL Utiliza un IDE y scripts para un control detallado sobre las tareas de migración.
5 Proyectos de base de datos SQL Conversión de esquemas
Valoración del código
Proyecto SQL Utiliza un proyecto de base de datos para control de versiones, evaluación y despliegue.
6 dbt Conversión de esquemas
Conversión de código de base de datos
dbt Reutiliza un proyecto DBT existente cambiando el adaptador y la configuración de destino.

Elección de la carga de trabajo para la migración inicial

Cuando decidas dónde empezar un proyecto de migración SQL Server Fabric Data Warehouse, elige un área de carga de trabajo donde puedas:

  • Demuestra la viabilidad de migrar a Fabric Data Warehouse entregando rápidamente los beneficios del nuevo entorno. Empieza pequeño y sencillo, y prepárate para múltiples migraciones pequeñas.
  • Dale tiempo a tu equipo técnico para adquirir experiencia relevante con los procesos y herramientas que utilizan para migrar otras cargas de trabajo.
  • Crea una plantilla para migraciones posteriores que sea específica para tu entorno, herramientas y procesos de SQL Server.

Sugerencia

Crea un inventario de los objetos que deben ser migrados y documenta el proceso de migración de principio a fin para que pueda repetirse en otras bases de datos o cargas de trabajo.

El volumen de datos en una migración inicial debe ser lo suficientemente grande para demostrar las capacidades y beneficios de Fabric Data Warehouse, pero lo bastante pequeño para demostrar su valor rápidamente. Un tamaño en el rango de 1 a 10 terabytes es lo habitual.

Migrar con Fabric Data Factory

Fabric Data Factory proporciona una interfaz low-code que puede convertir DDL de tablas y migrar datos desde SQL Server.

Fabric Data Factory puede realizar las siguientes tareas:

  • Convertir el esquema (DDL) a la sintaxis de Fabric Data Warehouse.
  • Crea objetos de esquema en Fabric Data Warehouse.
  • Migra datos a Fabric Data Warehouse.

Opción 1. Migración de esquemas y datos con Copy Assistant

Este método utiliza el asistente Data Factory Copy para conectarse a la base de datos de SQL Server fuente, convertir la DDL de la tabla a sintaxis Fabric y copiar los datos a Fabric Data Warehouse. Puedes seleccionar una o más tablas fuente. La tubería generada utiliza una actividad ForEach para copiar las tablas seleccionadas en paralelo.

Cuando configuras la operación de copia:

  • Usa el conector SQL Server para la conexión de origen.
  • Limita las copias paralelas a un nivel que la base de datos y la red fuente puedan sostener.
  • Monitoriza la CPU de origen, las entradas/salidas, el uso del registro de transacciones y la latencia de la carga de trabajo en producción durante la extracción.

Utiliza Copy Assistant para una interfaz sencilla que convierte DDL e ingiere las tablas seleccionadas en una sola operación. Este método encaja bien con tablas de dimensiones y cargas de trabajo más pequeñas.

Para tablas grandes, utiliza la partición para aumentar el paralelismo de lectura y escritura.

Opción 2. Migración de datos con particionamiento

Para tablas de datos grandes, utiliza una actividad de copia para cada tabla y configura la partición de fuente. Utiliza particiones físicas cuando estén disponibles, o configura la partición por rango dinámico especificando una columna numérica o de fecha adecuada y sus valores mínimos y máximos.

Captura de pantalla de una fuente de canalización con opciones de particionamiento de rango dinámico.

Cuando usas particionamiento:

  • Elige una columna de partición que distribuya las filas de forma uniforme.
  • Evita crear más consultas de código fuente concurrentes de las que SQL Server puede procesar sin afectar a las cargas de trabajo en producción.
  • Prueba el rango de particiones y la configuración de copia paralela contra una carga de trabajo representativa.
  • Aumenta el paralelismo gradualmente mientras monitorizas el origen y el destino.

Utiliza la partición Data Factory para tablas de datos grandes cuando la extracción paralela mejora el rendimiento. Dimensiona el recuento de lotes y los rangos de particiones según los recursos de tu base de datos fuente y la capacidad de la red.

Opción 3. Migración con enfoque de esquema primero

Para bases de datos más grandes, separar la migración de esquemas de la migración de datos:

  1. Convierte y crea esquemas de tablas en Fabric Data Warehouse.
  2. Extraer datos fuente en Azure Data Lake Storage (ADLS) Gen2.
  3. Utiliza Data Factory o el comando COPY INTO para incorporar los datos en etapas en Fabric Data Warehouse.

Separar estas fases te permite ajustar la extracción y la ingestión de forma independiente.

Migración de esquemas con Data Factory

Puedes usar una tubería de Fabric para migrar esquemas de tabla de SQL Server a Fabric Data Warehouse sin copiar filas.

Captura de pantalla de Fabric Data Factory mostrando una actividad de búsqueda conectada a una actividad ForEach que migra DDL.

Configurar los parámetros de la tubería

Crea un SchemaName parámetro que especifique qué esquemas migrar. Úsala dbo como predeterminado, o introduce una lista delimitada por comas como 'dbo','sales'.

Captura de pantalla de Data Factory que muestra el parámetro de pipeline SchemaName.

Configurar la actividad de búsqueda

Crea una actividad de búsqueda y establece su conexión con la base de datos SQL Server de origen. En la pestaña Configuración :

  • Establezca Tipo de almacén de datos en Externo.
  • Selecciona la conexión SQL Server de origen.
  • Establece Usar consulta en Consulta.
  • Añade una consulta dinámica que devuelva los nombres del esquema fuente y de las tablas.

Utiliza la siguiente expresión para crear la consulta:

@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'),')
')

Captura de pantalla de Data Factory mostrando una consulta dinámica en la actividad de Búsqueda.

Configurar la actividad ForEach

En la pestaña de Configuración de la actividad ForEach :

  • Desactiva el Secuencial para permitir que las iteraciones se ejecuten simultáneamente.
  • Establece el número de lotes en un valor que la base de datos de origen pueda soportar. Empieza con un valor conservador y pruébalo.
  • Establezca Items en @activity('Get List of Source Objects').output.value.

Captura de pantalla que muestra la configuración de una actividad ForEach.

Configurar la actividad de copia

Dentro de la actividad ForEach, agrega una actividad Copy. En la pestaña Origen:

  • Establezca Tipo de almacén de datos en Externo.
  • Selecciona la conexión SQL Server de origen.
  • Configurar consulta de uso para consulta.
  • Configura Query en @concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName) para que solo se migren los metadatos de la tabla.

Captura de pantalla de Data Factory mostrando la configuración de origen para la actividad de copia.

En la pestaña Destino:

  • Establezca Tipo de almacén de datos en Área de trabajo.
  • Configura el tipo de almacenamiento de datos de Workspace en Data Warehouse y selecciona el almacén de destino.
  • Establezca el esquema de destino en @item().SchemaName.
  • Establece la tabla de destino en @item().TableName.

Captura de pantalla de Data Factory mostrando la configuración de destino para la actividad de copia.

Después de ejecutar la canalización, verifica que Fabric Data Warehouse contiene cada tabla seleccionada con el esquema esperado.

Migrar usando scripts SQL

Utiliza scripts de migración de T-SQL y PowerShell cuando quieras un control detallado sobre la conversión de esquemas, la extracción de datos y la evaluación de código.

Los scripts de migración pueden:

  • Convertir el esquema (DDL) a la sintaxis de Fabric Data Warehouse.
  • Crea objetos de esquema en Fabric Data Warehouse.
  • Extraer datos de SQL Server a ADLS Gen2.
  • Marcar la sintaxis T-SQL no soportada en procedimientos almacenados, funciones y vistas.

El equipo Microsoft Fabric CAT proporciona ejemplos de código de migración en el repositorio de migración de telas.

Usa scripts cuando estés familiarizado con T-SQL, prefieras un entorno de desarrollo integrado y necesites controlar tareas de migración individuales. Utiliza COPY INTO o Data Factory para ingerir los datos extraídos en Fabric Data Warehouse.

Migrar mediante los proyectos de base de datos de SQL

Fabric Data Warehouse está soportada en la extensión SQL Database Projects para Visual Studio Code.

Un proyecto de base de datos SQL proporciona control de versiones, pruebas de bases de datos, validación de esquemas y capacidades de despliegue. Puede:

  • Convertir el esquema (DDL) a la sintaxis de Fabric Data Warehouse.
  • Crea objetos de esquema en Fabric Data Warehouse.
  • Evalúa la sintaxis T-SQL no soportada en procedimientos almacenados, funciones y vistas.

Para la migración de datos, usa Data Factory para copiar directamente desde SQL Server, o extrae datos a ADLS Gen2 e insíguelos con COPY INTO o Data Factory.

Para obtener una guía paso a paso sobre cómo usar proyectos de bases de datos SQL con scripts de migración, consulta el repositorio fabric-migration.

Para más información, consulta Empezar con la extensión SQL Database Projects y Construir un proyecto de base de datos desde la línea de comandos.

Migración con dbt

Si tu almacén de datos de SQL Server usa dbt, puedes usar el adaptador de dbt para Fabric Data Warehouse para convertir el código del esquema y de la base de datos cambiando el perfil de destino y el adaptador.

El framework dbt genera scripts DDL y DML a partir de archivos modelo. Debes migrar los datos por separado usando Data Factory u otra opción de migración de datos en este artículo.

Para empezar, consulta el Tutorial: Configurar la DBT para Fabric Data Warehouse.

Ingesta de datos en Fabric Data Warehouse

Para datos almacenados provisionalmente, utiliza COPY INTO o Fabric Data Factory para cargar archivos desde ADLS Gen2 en Fabric Data Warehouse. Considera la siguiente orientación:

  • Extrae tablas grandes en paralelo cuando la base de datos y la red de origen tengan suficiente capacidad.
  • Prefiero archivos Parquet para reducir el almacenamiento y el uso de red y mejorar la eficiencia de la ingestión.
  • Cargar varias tablas de destino simultáneamente cuando la capacidad de Fabric pueda admitir esa carga de trabajo.
  • Monitoriza tanto la extracción de fuentes como la capacidad de Fabric para encontrar el grado óptimo de paralelismo.