Repository navigation
Execution Guide
This guide explains how to execute data exports from Business Central and consolidate the data using either Azure Synapse pipelines or Microsoft Fabric notebooks.
- Overview
- Exporting Data from Business Central
- Running the Integration Pipeline (Azure Data Lake)
- Running Fabric Notebooks (Microsoft Fabric)
- Consuming the Data
- Monitoring and Troubleshooting
The execution process consists of two main steps:
- Export from Business Central: Incremental data updates are exported to the data lake (deltas folder)
-
Consolidation: Deltas are consolidated into final datasets
- Azure Data Lake: Using Synapse pipelines
- Microsoft Fabric: Using notebooks
💡 Tip: For details on all setup page fields and options, see the Configuration Reference page.
- Open Business Central
- Search for Export to Azure Data Lake Storage (Page 82560)
- The page displays your configuration and table list

Add tables to export in the bottom grid of the page:
- Click + New in the table grid
- Select a Table ID from the lookup
- The Table Caption is automatically filled
-
Select fields to export:
- Click on the Fields action
- Check the fields you want to include
⚠️ Be selective - export only necessary fields for performance
Important Notes:
⚠️ Unsupported field types: BLOB, Flow, Filter fields are not supported⚠️ Obsoleted fields: Fields marked as obsolete cannot be exported⚠️ Access property: Only fields withAccess = Publicare available⚠️ System fields:SystemCreatedAtfor old records (pre-audit field era) defaults to 01 Jan 1900
For each table, you can configure:
| Option | Description |
|---|---|
| Enabled | Enable/disable export for this table |
| Export in a category | Group tables into categories for selective export |
| Skip timestamp sorting | Disable row version sorting for this table (use if timeouts occur) |
- Click Export action at the top of the page
- Multiple parallel sessions spawn (one per table and company)
- Monitor the Last exported status column:
- In process: Currently exporting
- Success: Export completed successfully
- Failed: Export encountered an error
When all tables show a status other than "In process", the export is complete.
The standard export page runs only for the current company. To export from multiple companies:
Option 1: Multi-Company Export Page (Recommended)
- Use the Export Companies to Azure Data Lake Storage page
- Add all companies and export them from a single centralized page
- See Multi-Company Export for details
Option 2: Manual Export
- Switch company in Business Central
- Repeat the export process for each company
Option 3: Scheduled Export
- Set up Job Queue entries
- See Scheduling Exports for details
- Go to Feature Management in Business Central
- Enable Report read-only data access
- This makes exports read from the replica database
- Minimizes impact on normal ERP operations
For tables with millions of records:
- ✅ Enable Skip row version sorting temporarily during initial export
- ✅ Reduce the number of fields exported
- ✅ Export large tables outside business hours
- ✅ Consider splitting very large tables into categories
⚠️ Disable sorting after initial export completes
Control operational telemetry from the main setup page:
- Emit telemetry: ON/OFF toggle
- When enabled, telemetry is sent to Application Insights specified by the publisher
- Helps track export performance and diagnose issues
- Read more about BC telemetry
After exporting from Business Central, consolidate the deltas using Azure Synapse pipelines.
You have two options for triggering pipelines:
- Manual trigger (Azure Synapse Analytics directly)
- Automated trigger (Power Automate integration)
- Open Azure Portal > Your Synapse workspace
- Click Open Synapse Studio on the Overview blade
- Navigate to Integrate tab (pipeline icon)
- Select Consolidation_AllEntities pipeline
- Click Add trigger > Trigger now

| Parameter | Description | Recommended Value |
|---|---|---|
| containerName | Data lake container name | Your container name (e.g., "businesscentral") |
| deleteDeltas | Delete deltas after successful consolidation |
true (for production)false (for testing) |
| sparkpoolName | Spark pool for shared metadata tables | Spark pool name or leave blank |
About Parameters:
- containerName: Must match the container configured in Business Central
-
deleteDeltas:
-
true: Cleans up deltas automatically (recommended) -
false: Keeps deltas for debugging/troubleshooting - Deltas are NOT deleted if pipeline fails
-
-
sparkpoolName:
- Provide name to create shared metadata tables
- Leave blank to skip shared metadata table creation
- Click OK to start the pipeline
- Navigate to Monitor tab in Synapse Studio
- Select Pipeline runs
- View status, duration, and logs
- Click on a run to see detailed activity execution

Pipeline Status:
- 🟢 Succeeded: All activities completed successfully
- 🔴 Failed: One or more activities failed
- 🟡 In Progress: Currently executing
- ⚪ Queued: Waiting to start
For automatic pipeline execution when BC export completes:
- Set up Power Automate integration (see Power Automate Integration)
- Power Automate triggers Consolidation_OneEntity pipeline automatically
- One pipeline run per table export completion
- No manual intervention required
Comparison:
| Aspect | Manual Trigger | Power Automate |
|---|---|---|
| When | After all exports complete | After each table completes |
| Pipeline | Consolidation_AllEntities | Consolidation_OneEntity |
| Automation | Manual | Automatic |
| Use Case | Scheduled batch processing | Event-driven real-time |
The Azure Synapse solution includes three pipelines:
-
Consolidation_AllEntities: Main pipeline that processes all tables
- Checks for deltas
- Calls Consolidation_OneEntity for each table
- Creates shared metadata tables (if sparkpoolName provided)
-
Consolidation_CheckForDeltas: Helper pipeline that checks if deltas exist
-
Consolidation_OneEntity: Processes a single table/entity
- Consolidates deltas into data folder
- Handles duplicates
- Updates CDM manifest
- Data is currently being exported from BC
- Another pipeline is already running for the same container
- Tables with
DataPerCompany = falsemay have duplicates in deltas - Tables that were reset and re-exported may have duplicates
- Pipeline removes duplicates automatically during consolidation
After exporting from Business Central to Fabric Lakehouse, consolidate deltas using notebooks.
- Navigate to your Fabric workspace
- Find your notebook (e.g., "CopyBusinessCentral")
- Click to open it
The notebook has configurable parameters at the top:
# Parameters
lakehouse_name = "BusinessCentralData" # Your lakehouse name
process_all_tables = True # Process all or specific tables
specific_tables = [] # List of specific tables (if not all)Adjust as needed for your environment.
Manual Execution:
- Click Run all in the toolbar
- Monitor cell execution
- Review output and logs
Scheduled Execution:
- If you configured a schedule during setup, the notebook runs automatically
- View scheduled runs in the notebook's schedule tab
- Watch each cell execute sequentially
- Check output for any errors
- Verify tables are created in the lakehouse
- Navigate to your Lakehouse
- Expand the Tables section
- Verify tables are present and updated
- Click on a table to preview data
For large datasets, use the parallel processing notebook:
- Import
fabric/CopyBusinessCentral_parallel_option.ipynb - Configure parallel processing parameters:
max_parallel_tables = 5 # Number of tables to process simultaneously
- Run the notebook
- Benefits: Faster processing for many tables
- Considerations: Higher resource usage
After consolidation, data is available for consumption in various ways.
- Open Power BI Desktop
- Click Get Data
- Select Azure Data Lake Storage Gen2
- Click Connect

- Enter your Data Lake Storage endpoint:
- Format:
https://<storage-account>.dfs.core.windows.net - Find in Azure Portal > Storage Account > Endpoints blade
- Format:
- Select CDM Folder View (Beta)
- Click OK

- Navigate to your container
- Expand the database icon labeled data-manifest
- Select tables to load

- Click Load or Transform Data
If you created shared metadata tables (by providing sparkpoolName):
Access via Synapse Studio:
- Open Synapse Studio
- Go to Data section
- Expand Lake databases
- Find your database (named after container)
- Right-click a table > New SQL script > Select TOP 100

Connect Power BI via Serverless SQL:
- Open Power BI Desktop
- Select SQL Server connector
- Enter Serverless SQL endpoint:
- Find in Azure Portal > Synapse workspace > Overview
- Format:
<workspace-name>-ondemand.sql.azuresynapse.net
- Database: Your lake database name
- Use DirectQuery or Import mode
- Select tables and create reports
Benefits:
- ✅ DirectQuery support for real-time data
- ✅ SQL query capabilities
- ✅ Multi-table joins
- ✅ Spark notebook access
Read more about Shared Metadata Tables
- Open Power BI Desktop
- Click Get Data > More
- Select OneLake data hub or Power BI datasets
- Navigate to your workspace
- Select your lakehouse
- Choose tables to load
- In Fabric workspace, open your lakehouse
- Click Open > SQL endpoint
- Use the SQL endpoint for querying
- Or use Spark notebooks for advanced analytics
- ✅ Native Power BI integration
- ✅ No connection string configuration needed
- ✅ Automatic schema detection
- ✅ Real-time updates
- ✅ DirectQuery support
- Deltas folder: CSV files (incremental updates)
- Data folder: CSV or Parquet (consolidated data)
-
Manifest:
data.cdm.manifest.json(metadata) - Format: Common Data Model (CDM)
- Deltas folder: CSV files (incremental updates)
- Tables: Delta Parquet format (consolidated)
- Format: Delta Lake
- Open Export to Azure Data Lake Storage page
- Review Last exported status for each table:
- ✅ Success: Completed successfully
- 🔴 Failed: Error occurred
- 🕐 In process: Currently running
- Check Last Timestamp to see when export ran
- Review Error Message if status is Failed
View historical exports in the ADLSE Run table:
- Navigate to Export to Azure Data Lake Storage page
- Click Related > Runs
- View all historical export attempts with:
- Started time
- Ended time
- Status
- Error messages
Each export creates files in the deltas folder:
- Modified timestamp shows when export finished
- Compare with ADLSE Run table to match files to runs
- Use telemetry to track file creation
- Open Synapse Studio
- Navigate to Monitor > Pipeline runs
- View:
- Run ID and status
- Start time and duration
- Trigger type (manual/scheduled)
- Click a run to see:
- Activity-level details
- Input/output parameters
- Error messages
- Open your notebook in Fabric
- View Recent runs at the top
- Click a run to see:
- Execution duration
- Cell outputs
- Any errors
- Check Schedule tab for scheduled run history
Issue: Token cache errors on BC On-Premises
⚠️ The BC server settingDisableWriteInsideTryFunctionsdefaults toTrueon On-Premises, blocking database writes (including IsolatedStorage) insideTryFunctionprocedures- ✅ Set
DisableWriteInsideTryFunctionstoFalsein your BC server configuration - ℹ️ This is a platform difference from BC SaaS, where this restriction is not enabled
- 📖 See Microsoft documentation on TryFunction behavior
Issue: Export timing out
- ✅ Enable Skip row version sorting for large tables
- ✅ Reduce number of fields exported
- ✅ Reduce Max payload size setting
- ✅ Export during off-peak hours
Issue: Fields not available for export
- ✅ Check field is not BLOB, Flow, or Filter type
- ✅ Verify field Access property is Public
- ✅ Ensure field is not obsoleted
Issue: SystemCreatedAt showing 01 Jan 1900
- ℹ️ This is expected for records created before audit fields
- ℹ️ Artificial value set for old records
Issue: Pipeline fails with timeout
- ✅ Increase timeout parameter in pipeline URL
- ✅ Reduce payload size in BC configuration
- ✅ Process fewer entities per run
Issue: Duplicate records in data
- ℹ️ Expected for tables with
DataPerCompany = false - ℹ️ Expected after table reset and re-export
- ✅ Pipeline removes duplicates automatically
Issue: Pipeline won't start
- ✅ Check if another pipeline is running
- ✅ Verify no active export from BC
- ✅ Review Synapse workspace capacity
Issue: Notebook cells fail
- ✅ Verify lakehouse is attached
- ✅ Check delta files exist
- ✅ Review error messages in cell output
- ✅ Ensure Spark pool is available
Issue: Tables not created
- ✅ Confirm notebook completed successfully
- ✅ Refresh lakehouse view
- ✅ Check deltas folder has data
- ✅ Enable Report read-only data access feature
- ✅ Export during off-peak hours
- ✅ Use categories to group tables by update frequency
- ✅ Schedule frequent exports for high-change tables
- ✅ Schedule infrequent exports for static tables
- ✅ Use Parquet format for better compression
- ✅ Increase Synapse workspace scale if needed
- ✅ Process tables in batches
- ✅ Enable deleteDeltas to keep storage clean
- ✅ Use parallel processing notebook for many tables
- ✅ Ensure adequate Fabric capacity
- ✅ Schedule consolidation during off-peak hours
- ✅ Monitor capacity metrics in Fabric admin
- Schedule recurring exports - Automate BC exports with Job Queue
- Set up Power Automate - Trigger pipelines automatically
- Configure shared metadata tables - Enable Spark/SQL access
- Review FAQs - Common questions and answers
Related: Scheduling Exports | Power Automate Integration | FAQs | Back to Home