Desplega un almacén usando pipelines

Se aplica a: ✅ Almacén en Microsoft Fabric

Microsoft Fabric pipelines ofrecen una forma simplificada de cambiar los esquemas de almacén entre espacios de trabajo como Dev → Test → Production. Las canalizaciones cuentan con gestión de dependencias integradas, validación de esquemas e inteligencia declarativa de despliegue.

Importante

Esta característica se encuentra en versión preliminar.

Este artículo explica el proceso de despliegue en almacén con oleoductos.

Diagrama del ciclo de vida de despliegue de la tubería para Fabric Data Warehouse.

Las pipelines de despliegue proporcionan la estructura del ciclo de vida necesaria para mover los cambios en el almacén de forma segura entre espacios de trabajo. Actúan como la capa central de orquestación para la promoción de esquemas, permitiendo a los equipos estandarizar cómo fluyen los cambios a través de la plataforma de analítica en lugar de depender de despliegues ad hoc. Una vez creada, la canalización se convierte en la interfaz principal para comparar almacenes, revisar cambios y ejecutar despliegues.

Crear una canalización

Para crear una nueva canalización, consulta empezar con las pipelines de despliegue para crear y gestionar una pipeline de despliegue.

Compare

Verifica y compara siempre los cambios en T-SQL antes del despliegue. Las canalizaciones de despliegue ofrecen una pantalla de Comparación sencilla en el portal Fabric para revisar los objetos afectados del almacén.

Revisar los cambios permite a los equipos validar su preparación antes de promover actualizaciones en entornos posteriores. Este proceso es especialmente valioso en escenarios empresariales donde varios equipos contribuyen al desarrollo del almacén.

Fabric utiliza DacFx (Data-tier Application Framework) para realizar esta comparación. DacFx construye un modelo de esquema declarativo de ambos entornos e identifica diferencias como nuevas tablas, columnas modificadas, restricciones o cambios de dependencia. Como esta comparación está basada en modelos, refleja con precisión lo que ocurre durante el despliegue.

Importante

Para la comparación de esquemas con el trabajo, el almacén debe existir tanto en el espacio de trabajo de origen como en el de destino. Si el espacio de trabajo objetivo aún no contiene el almacén, crea o despliega primero una versión base inicial.

Nota:

Si la cláusula de COLLATE una columna especifica explícitamente la misma recopilación que la recopilación predeterminada del almacén, la comparación no la muestra como una diferencia, porque es equivalente a no especificar ninguna recopilación. Solo aparecen en las comparaciones las columnas cuya colación difiere de la por defecto del almacén cuando su clasificación cambia. Para más información y un ejemplo, consulte Solución de problemas con la integración de Git para el desarrollo Fabric Data Warehouse.

Antes de desplegar cualquier cambio, utiliza la capacidad de comparación de la pipeline de despliegue para revisar las diferencias entre los espacios de trabajo del almacén de origen y destino.

Captura de pantalla en el portal de Fabric usando una canalización para comparar un almacén en dos espacios de trabajo diferentes.

Selecciona Comparar y ve los cambios, como crear una nueva vista en el almacén:

Captura de pantalla de la comparación entre un almacén en un estado y otro en otro estado.

Deploy

Cuando termine la comparación y valides los cambios, puedes desplegar directamente desde la interfaz de la tubería seleccionando los elementos del almacén a promocionar.

Captura de pantalla del portal Fabric de la pantalla de Despliegue a esta etapa en la pipeline.

Durante el despliegue, las pipelines de despliegue utilizan DacFx para generar un plan de despliegue inteligente basado en diferencias de esquema. Fabric aplica solo los cambios necesarios para sincronizar el espacio de trabajo objetivo con la fuente.

Captura de pantalla del portal de Fabric de un despliegue exitoso.

Configuraciones de despliegue

Fabric pipelines de despliegue utilizan tecnología de despliegue DacFx con configuraciones adaptadas específicamente para Fabric Data Warehouse. Estas configuraciones aseguran que los despliegues tengan éxito de forma fiable, alineándose con las capacidades y prácticas operativas de la plataforma Fabric.

  • Bloqueo en posible pérdida de datos (BlockOnPossibleDataLoss = true) - Fabric Data Warehouse previene despliegues que puedan interrumpir, caer o perder datos de usuario. Esta configuración evita que cambios de esquema de alto riesgo se escapen por CI/CD y convierte el riesgo de pérdida de datos en una decisión deliberada en lugar de un default silencioso.

  • Saltar el scripting de opciones a nivel de base de datos (ScriptDatabaseOptions = false) - Fabric gestiona muchos ajustes a nivel de base de datos a nivel de plataforma. Scriptar instrucciones, como durante ALTER DATABASE ... SET el despliegue, puede provocar fallos o desviación de configuración no intencionada. Por tanto, las canalizaciones de despliegue evitan propagar estos ajustes, asegurando que los despliegues de esquemas se centren únicamente en los objetos de almacén soportados.

  • Permitir la aplicación del motor para objetos replicados (DoNotAlterReplicatedObjects = false) - Los almacenes suelen usar mecanismos internos de replicación, por ejemplo en escenarios de enlace o sincronización. En lugar de bloquear los cambios en el esquema prematuramente, las pipelines de despliegue permiten al motor Fabric determinar si un cambio está permitido. Este enfoque evita fallos innecesarios en el despliegue mientras preserva las salvaguardas de la plataforma.

  • Desactivar scripts DDL transaccionales (IncludeTransactionalScripts = false) - Actualmente, los almacenes no soportan el empaque de scripts DDL dentro de las transacciones. Por ello, las pipelines de despliegue generan scripts no transaccionales para asegurar que los despliegues se completen con éxito.

  • Uso de valores predeterminados inteligentes para la evolución del esquema (GenerateSmartDefaults = true) - Cuando los cambios en el esquema introducen restricciones más estrictas, como convertir columnas anulables en no anulables o añadir nuevas columnas con restricciones predeterminadas, las pipelines de despliegue pueden llenar automáticamente los valores base. Este enfoque ayuda a que los despliegues tengan éxito sin requerir preparación manual de datos y reduce la fricción operativa durante la evolución del esquema.

  • Excluyendo a los principales de seguridad del despliegue (ExcludeObjectTypes = Logins, Users, Permissions) - Los objetos de seguridad se excluyen intencionadamente de los despliegues en almacén. Promover inicios de sesión, usuarios o permisos entre entornos puede suponer riesgos de seguridad o conflictos específicos del entorno. En su lugar, gestiona el control de acceso por separado mediante procesos de gobernanza del entorno o gestión de identidad.

  • No dejar caer objetos que no estén en la fuente (DropObjectsNotInSource = false) - Los objetos que existen en el destino pero no en la fuente no se descartan automáticamente. Los almacenes que mantienen la producción perfectamente sincronizada con el control de versiones pueden encontrar esto restrictivo.

Limitaciones

  • Por defecto, el sistema bloquea las caídas de tabla. El proceso de despliegue no elimina automáticamente objetos que existen en el destino pero no en la fuente. Este diseño reduce la pérdida accidental de datos y evita eliminaciones inesperadas en producción.
  • Un despliegue exitoso no siempre significa que se hayan aplicado todos los cambios solicitados. Un despliegue puede reportar éxito incluso cuando se omite una acción de drop table solicitada, porque las caídas de tabla están bloqueadas por defecto. En ese caso, la operación de despliegue se completa, pero el destino puede seguir desviándose del control de versiones hasta que resuelvas explícitamente el cambio que falta.
  • Las canalizaciones de implementación de Fabric no admiten el elemento del punto de conexión de SQL Analytics. Actualmente, el proceso de despliegue prioriza la seguridad sobre la paridad estricta de fuente, evitando eliminar objetos que solo existen en el objetivo.
  • Las dependencias entre elementos, la secuenciación de elementos y las brechas de sincronización entre el punto de conexión de SQL Analytics y el almacén de datos afectan a los flujos de trabajo de las canalizaciones de implementación de Fabric.
  • Con las canalizaciones de despliegue de Fabric, solo puedes desplegar un almacén a la vez. No se permite seleccionar elementos relacionados para el despliegue.

Solución de problemas de la integración de Git

Para limitaciones específicas de la integración con Git, véase Limitaciones en la integración con Git en el artículo sobre integración con Git.

Para solucionar problemas, soluciones alternativas y soluciones a problemas comunes de integración Git en el desarrollo Fabric Data Warehouse, consulta Solución de problemas de integración Git para Fabric Data Warehouse desarrollo.