This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Microsoft Fabric has revolutionized data analytics with its unified platform, but deploying complex architectures with cross-dependencies remains a significant challenge for organizations. The good news is that the Microsoft Fabric team is actively working on native warehouse deployment capabilities with DacFx, cross-item dependency resolution, and cross-warehouse reference support.
While these comprehensive solutions are being developed, enterprise teams need practical tools today. This automation serves as a bridge to help customers deploy complex warehouse environments until native capabilities become available.
This bridge solution addresses six critical deployment patterns. Here's exactly what the automation covers and what developers need to prepare for each scenario:
Note: In all following scenarios, the target workspace and items that need to deploy should be pre-created before running the automation.
This is the simplest deployment scenario where the automation extracts the source warehouse DACPAC, creates a SQL database project from it, builds the project to produce a deployment-ready DACPAC, and publishes the built DACPAC onto the target warehouse. Since there are no dependencies on other warehouses or SQL endpoints, the deployment is straightforward and requires minimal orchestration.
For warehouses that reference other warehouses, the automation performs complete dependency graph analysis across all related warehouses to understand the relationships and determine the correct deployment order. It automatically calculates the deployment sequence based on these dependencies. For each warehouse, the tool extracts the DACPAC, creates a SQL database project, and processes the project to handle cross-warehouse reference resolution by converting three-part names to SQLCMD variables. The database projects are then built to produce deployment-ready DACPACs with resolved references. Finally, it executes batch deployment of all dependent warehouses in the correct order and validates that cross-warehouse connections are functioning properly.
When a warehouse depends on SQL Analytics endpoints, the automation performs mixed item type dependency resolution to handle both warehouse and SQL endpoint relationships. It automatically calculates the optimal deployment order ensuring that SQL endpoints are ready before the warehouse deployment begins. For each item with cross-references, the tool extracts DACPACs, creates SQL database projects, and processes them to resolve cross-warehouse and cross-SQL endpoint references by converting three-part names to SQLCMD variables. The database projects are built to produce deployment-ready DACPACs with properly resolved references. SQL endpoint metadata refresh is coordinated before its deployment to ensure the endpoint schemas are up to date with its parent item. All dependent items are deployed in a batch sequence with proper validation of cross-references between the warehouse and SQL endpoints.
Lakehouse tables must be hydrated in the target workspace for SQL endpoint deployments to be successful and for cross-references to work correctly. Without hydrated Lakehouse metadata, the SQL endpoints deployment may fail.
For standalone SQL endpoints, the automation handles SQL endpoint identification and performs metadata refresh to ensure the endpoint schema is current. It extracts the source SQL endpoint DACPAC, creates a SQL database project from it, builds the project to produce a deployment-ready DACPAC, and publishes the built DACPAC onto the target SQL endpoint. This scenario is straightforward since there are no dependencies to resolve or orchestrate.
Lakehouse tables must be hydrated in the target workspace for SQL endpoint deployments to be successful. Since SQL endpoints depend on underlying Lakehouse data, hydration must occur before the deployment automation runs.
When a SQL endpoint depends on one or more warehouses, the automation performs mixed item type dependency resolution to understand the relationships between SQL endpoints and warehouses. It automatically calculates the deployment order, ensuring that dependent warehouses are deployed first before the SQL endpoint. The tool extracts DACPACs for each item, creates SQL database projects, and processes them to resolve cross-warehouse and cross-SQL endpoint references by converting three-part names to SQLCMD variables to maintain dependencies across items. The database projects are built to generate deployment-ready DACPACs with all cross-references properly parameterized. SQL endpoint metadata refresh is carefully coordinated to occur at the right time in the deployment sequence. All dependent items are deployed in a batch sequence with thorough validation of cross-references between SQL endpoints and warehouses.
Lakehouse tables must be hydrated in the target workspace for SQL endpoint deployments to be successful. Since SQL endpoints depend on underlying Lakehouse metadata, hydration must occur before the deployment automation runs.
For complex scenarios where SQL endpoints reference other SQL endpoints, the automation performs sophisticated dependency chain analysis to map the complete network of relationships. It determines the ordered SQL endpoint deployment sequence based on dependency awareness, ensuring that referenced endpoints are deployed before dependent ones. For each SQL endpoint in the chain, the tool extracts the DACPAC, creates a SQL database project, and processes it to resolve inter-endpoint references by converting three-part names to SQLCMD variables. The database projects are built to produce deployment-ready DACPACs with all cross-endpoint references properly parameterized. The tool validates inter-endpoint dependencies and verifies that references work correctly across the entire dependency chain.
Lakehouse tables must be hydrated in the target workspace for all SQL endpoint deployments to be successful. Since multiple SQL endpoints may be involved, all underlying Lakehouse data across the dependency chain must be properly hydrated before running the automation.
Developer provides following inputs to the automation, these inputs are self-explanatory.
"args": [ "--source-fabric-workspace-id","dd56cce8-94f4-4365-b34b-0eb72163a18b", "--server", "x6eps4xrq2xudenlfv6naeo3i4-5dgfnxpusrsuhm2lb23scy5brm.msit- datawarehouse.fabric.microsoft.com", "--database", "test_lh", "--working-dir", "C:\\working_dir", "--force-extract", "--target-fabric-workspace-id","9c022a04-8cc4-4b52-b28e-3ae6794f63e6", "--target-server", "x6eps4xrq2xudenlfv6naeo3i4-aqvafhgerrjexmuohlthst3d4y.msit-datawarehouse.fabric.microsoft.com", "--base-url","https://api.fabric.microsoft.com/v1", "--publish" ]
Note that the automation works in the context of the warehouse or sql analytics endpoint provided in the above arguments (database) ". The automation will cover the provided warehouse or sql analytics endpoint and its dependencies. if additional items need to be deployed, run the automation with updated values.
Bridging_the_Gap_Automate_Warehouse_amp_SQL_Endpoint_Deployment_in_Microsoft_Fab
This tool is part of the Microsoft Fabric Toolbox and is actively managed and maintained by the Microsoft Fabric team. While the core development is led by Microsoft engineers, we welcome and encourage open-source contributions from the community. Contributors can submit pull requests, report issues, or suggest enhancements to help improve this tool for the broader Fabric ecosystem.
Please refer to the automation README.md file thoroughly to understand how the automation works and how to use it effectively.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.