Azure Synapse Analytics is an enterprise data warehouse + big data analytics service. Microsoft Fabric Warehouse is the same warehousing engine packaged inside Microsoft Fabric. Etlworks ships flow types optimized for both.
Note: Same flows, different setup. Etlworks connections and flows optimized for Azure Synapse Analytics are fully compatible with Microsoft Fabric Warehouse. The flow configuration is identical; a few setup steps differ.
Which Synapse / Fabric flow should I use?
| Flow | Use when |
|---|---|
| Any to Synapse / Fabric (Database / File / Queue / Web service / Well-known API) | You need to extract from any source, optionally transform, and load into Synapse or Fabric Warehouse. |
| Bulk load files in Azure Storage into Synapse / Fabric | The files already exist in Azure Blob. No transformation needed. Auto-generates COPY INTO; supports MERGE. |
| Stream CDC events into Synapse / Fabric | You need real-time replication from a CDC-enabled source database. |
| Streaming with message queues | You need real-time ingestion from a message queue that supports streaming. |
What do I need for Synapse Analytics?
- A Synapse Analytics workspace reachable from your Etlworks instance.
- A user with ADMINISTER DATABASE BULK OPERATIONS and INSERT permissions (needed by COPY INTO).
- An Azure Storage account where the Etlworks user has read/write on the target container.
What do I need for Microsoft Fabric Warehouse?
- A Microsoft Fabric Warehouse reachable from your Etlworks instance.
- An Azure Data Lake Storage Gen2 account where the user has read/write, linked to your Power BI / Fabric workspace (see Step 6 below).
Connect to Synapse Analytics
- Open the Connections window and click +.
- Type synapse in the search field.
- Select the Azure Synapse Analytics connection and fill in the connection parameters. Full reference: configuring the Synapse connection.
Also create an Azure Storage connection for the stage.
Connect to Microsoft Fabric Warehouse
Setup is a single end-to-end sequence: create a Fabric workspace and warehouse, then wire up storage and create the Etlworks connection.
Step 1. Create a Microsoft Fabric workspace
Skip if you already have one.
- Sign in to Microsoft Fabric.
- Click Workspaces in the left navigation.
- Click New workspace.
- Provide a name and description, set permissions, then click Save.
Step 2. Assign the workspace to a Fabric capacity
Skip if your workspace is already assigned.
- In the workspace, click Workspace settings.
- Under Premium, select Assign to capacity.
- Pick your Fabric capacity, or click Start trial if you don't have one yet.
- Save the changes.
Step 3. Create a Fabric Warehouse
Skip if you already have one.
- Inside the workspace, click New and choose Data warehouse.
- Enter a warehouse name and click Create.
Step 4. Get the Synapse-compatible connection string
- Select Warehouse in your workspace.
- Click SQL Endpoint to view and copy the connection string. It looks like:
your-endpoint.datawarehouse.fabric.microsoft.com
Step 5. Create the Etlworks connection
Etlworks 7.8.5 or newer
- Create a Microsoft Fabric Warehouse connection.
- Paste the SQL Endpoint from Step 4 into the SQL endpoint field.
- Paste the warehouse name from Step 3 into the Warehouse field.
- Leave URL unchanged.
- Authenticate with Azure and click Test connection.
Etlworks older than 7.8.5
- Create a Synapse Analytics connection.
- Paste the SQL Endpoint from Step 4 into the SQL endpoint field.
- Paste the warehouse name from Step 3 into the SQL pool field.
- Leave URL unchanged.
-
Configure DATETIME2 for Fabric compatibility. The Etlworks Synapse connector creates timestamp and date columns as DATETIME2. Fabric requires an explicit fractional-second precision (0–6):
- DATETIME2(0) — second-level precision (no fractions).
- DATETIME2(3) — millisecond precision (most common).
- DATETIME2(6) — microsecond precision (maximum).
value = com.toolsverse.util.Utils.findAndReplace(sql, 'DATETIME2 ', 'DATETIME2(3) ', true);
- Authenticate with Azure: pick Active directory interactive as Authentication type (leave username/password empty). Click OAuth Token and complete the Azure flow.
- Click Test connection.
Step 6. Create an Azure Data Lake Gen2 storage account
Etlworks flows stage data in Azure Data Lake Gen2, then load it into the warehouse via COPY INTO.
- Open the Azure portal.
- Click Create a resource → Storage Account.
- Choose subscription, resource group, name, and region.
- Important: on the Advanced tab, enable Hierarchical namespace (this is what makes it Gen2).
- Click Review + create, then Create.
Step 7. Assign roles to the storage account
Unlike Synapse, Fabric Warehouse requires explicit permissions on the storage account plus a link to the workspace.
- Open the storage account.
- Go to Access Control (IAM) and click Add → Add role assignment.
- Assign the Owner role to the user that will connect the workspace.
- Save.
Step 8. Link the storage account to Power BI
- In Power BI, open the same workspace.
- Click Workspace settings, then Azure connections.
- Pick the Data Lake Gen2 account from Step 6 and confirm.
Step 9. Link the storage account to the Fabric workspace
- In Fabric, open the same workspace.
- Click Workspace settings, then Azure connections.
- Pick the Data Lake Gen2 account and confirm.
Where to go next
| Topic | Article |
|---|---|
| Extract, transform, and load data | Extract, transform, and load data in Azure Synapse Analytics and Microsoft Fabric Warehouse |
| Bulk-load existing Azure Blob files | Bulk load files in Azure Storage into Synapse / Fabric |
| ELT — run transformation SQL directly in Synapse / Fabric | ELT with Synapse / Fabric |
| Reverse ETL | Reverse ETL with Synapse / Fabric |
| Load many tables at once | Load multiple tables with a wildcard |
| Incremental load (HWM) | Incremental change replication using high watermark |
| Troubleshooting | Common issues when loading data into cloud data warehouses |