Edit

Business Central on-premises to online migration: End-to-end overview

Migrating data from Business Central on-premises to online can seem like a complex process. This article provides an overview of how the migration works and the necessary tasks for completing the migration. By gaining an understanding of the data migration basics, you're able to plan and execute a smooth transition to the cloud.

Understanding cloud migration

Data migration is the process of securely migrating data from an on-premises SQL Server instance (or Azure SQL) to Business Central online. You manage cloud migration from Business Central online through a connection to the on-premises database and various components that establish a pipeline for replicating data. The on-premises solution remains the operative environment until you complete the cloud migration.

Components involved

The following figure illustrates the main components involved in the data migration process.

Shows components of cloud migration

Component Description
On-premises database This database is the on-premises SQL Server database or an Azure SQL Database that stores business data for the companies to migrate to the cloud.
Azure Data Factory A key component of the data migration is Azure Data Factory. Azure Data Factory is a managed cloud service for migrating large amounts raw data across data sources and controlling data integration projects. Azure Data Factory migrates the data between on-premises and online directly. In other words, it doesn't look at any permissions within the applications you're transferring data between—only SQL permissions.
Pipelines Pipelines are the main elements of Azure Data Factory. Pipelines are groupings of activities that copy, move, and transform data, and also orchestrate its flow.
Integration Runtime The Integration Runtime component is the compute infrastructure of Azure Data Factory. There are two Integration Runtime instances in the end-to-end process. The first instance securely copies data from on-premises to the cloud, where the pipelines are created. If the on-premises database is an SQL Server database, you use a self-hosted integration runtime. This runtime is installed locally on the on-premises network and registered in Azure Data Factory. If the on-premises database is an Azure SQL Database, an Azure Integration Runtime is used. From the pipeline, the Azure Integration Runtime then moves the data to the online database for the environment.
Online database This database in the Azure SQL Database of the Business Central environment that you're migrating data to.

Note

The process doesn't require a Business Central Server instance—running or not. The integration runtime connects directly to the database and only makes calls to the Azure Data Factory.

What data is migrated and how

The cloud migration process transfers business data from one or more companies in the on-premises database to the online tenant database. The on-premises data comes from company-specific tables of the base application and tables that belong to customization extensions, whether they're from Microsoft or other publishers. However, it's important to note that certain requirements must be met when migrating data from extensions, meaning that not all data is necessarily transferred. For further clarification on what data is migrated, refer to Determine what data to migrate.

Note

What data isn't migrated? During the data migration process, Business Central doesn't migrate most system tables, users, and permissions. Additionally, record links aren't currently migrated because they're associated with a user ID, and users aren't migrated from the on-premises environment to the online tenant.

In general, data is migrated table by table. Depending on their size, tables might also be combined and migrated together for performance reasons. In either case, the success and failure of the migration is tracked for each table. For instance, tables fail to migrate if they can't be found, or if the schema doesn't match between the cloud and the on-premises tables. If a table fails to migrate, the error will be captured, and the migration moves on to the next table until completed.

Note

In Business Central online, data is compressed using the SQL Server data compression feature. As a consequence, the data size in your on-premises database might not match the data size when migrated to the Business Central service. For more information about estimating the compressed size of your data, go to Estimating data size in your Business Central online tenant.

Data migration can be run multiple times. The data migration time varies depending on factors such as the amount of data to migrate, your SQL Server configuration, and your connection speeds. The initial migration takes the longest amount of time to complete because all data is migrating. After the initial migration, only changes in data will be migrated, resulting in faster iterations. It's not necessary to run the migration process more than once. But if users are still using the on-premises system, you must run at least one more migration to ensure all data is moved to the cloud before transacting in Business Central online.

To learn more about data migration, go to Data replication.

Migration roadmap

This section outlines the phases you go through to migrate data from on-premises to online. This roadmap applies to full data migrations where you want to bring all your data and customizations to the cloud.

Tip

If you're on Business Central version 14 and want a fresh start without migrating all data and customizations, consider the Business Central 14 reimplementation tool. It migrates only essential business data directly to the cloud.

Phase 1: Preparation

The preparation phase helps ensure the migration runs as fast and problem-free as possible. Preparation typically includes these tasks:

  • Plan: Develop a migration plan that includes a detailed timeline, resource requirements, and migration approach. A well-crafted plan can help minimize downtime and prevent users from losing work. You should plan to run cloud migration between environment updates. To get started, go to Plan and prepare.

  • Verify prerequisites: Prepare your on-premises environment for migration, including ensuring that it meets the prerequisites for migration, such as upgrading to the required version of Business Central on-premises. To get started, go to Prerequisites.

  • Verify data quality: Review your data to ensure that it's clean, accurate, and in the best possible state for migration. To get started, go to Align SQL table definitions and Clean data.

  • Optimize performance: Follow practical steps to enhance the efficiency and reliability of the migration process while minimizing the risk of data loss or downtime. To get started, go to Optimize cloud migration performance.

Phase 2: Cloud migration setup

This phase doesn't migrate any data. It gets the environment ready for migration by establishing the connection and pipeline between the on-premises database and online tenant database. This phase starts when you run the Set up Cloud Migration assisted setup guide in Business Central online.

To get started, go to Set up cloud migration.

Phase 3: Data replication

This phase migrates data from on-premises to online. It starts when you run the Run data replication assisted setup guide in Business Central online. At the end of the process, you have a copy of the on-premises data in the relevant Business Central online environment.

You can verify whether the migration went well, fix any problems, and rerun the replication multiple times. For example, you might run the assisted setup guide from a test company in a sandbox environment to identify problematic extensions. Once the data is replicated, you can use the troubleshooting tools in the Business Central administration center.

To get started, go to Replicate data.

Phase 4: Data upgrade

After data replication is complete, the cloud migration might have the status Upgrade Pending on the Cloud Migration Management page. Data upgrade is typically required when migrating from a Business Central version that is earlier than the version used on the target online environment. During data upgrade, the platform-related data in the database is upgraded. This phase starts when you choose the Run Data Upgrade Now action on the Cloud Migration Management page.

To get started, go to Upgrade data.

Important

Before running data upgrade, ensure that data from all companies has been replicated to the online database. Once you run data upgrade successfully, you can’t run data replication again from an earlier version, because you risk corrupting data in the online database by mixing non-upgraded records with upgraded records.

Phase 5: Completion

Completion involves setting up and optimizing your new Business Central online environment:

  • Optimize your environment: Configure the system to meet your business needs, including setting up security, customizing forms and reports, and integrating with other systems.

  • Set up user access: Grant access to your new Business Central online system for all relevant users, including creating user accounts, setting up permissions, and defining roles.

  • Reconnect integrations: Re-establish connections to external services, APIs, Power Platform flows, and any third-party integrations that were running against the on-premises system. Test each integration end-to-end in the new environment.

  • Monitor and validate: After go-live, monitor the environment closely for performance issues, data discrepancies, and user-reported problems. Review Business Central telemetry in Application Insights to track errors and usage patterns. Set up alerts for key performance indicators and resolve issues promptly during the stabilization period.

  • Go live: Switch over to the new Business Central online system. This task involves decommissioning the on-premises deployment and ensuring that all users are using the new system.

To get started, go to Complete cloud migration.

Working with environments during cloud migration

You manage the cloud migration from Business Central online. But once you start the migration phase, the on-premises solution remains the operative environment until you complete the migration. Don't set up cloud migration for a production environment that's already in use for business. You risk that the migration process overwrites data that's needed to run the business. Even if your migration targets a different company in that environment, you risk that the upgrade overwrites data that's shared across companies in the target environment.

Any existing data in Business Central online is overwritten with data from your on-premises solution, or source, once the data replication is run.

If you don't want data in Business Central online to be overwritten, don't configure the connection. The only exception is when you migrate from Business Central on-premises current version because you can run the migration tool multiple times in that specific scenario.

With Business Central on-premises, several stored procedures are added to the SQL Server instance that you define. These stored procedures are required to migrate data from your SQL Server database to the Azure SQL server associated with your Business Central tenant.

Limited data entry during migration period

After you set up cloud migration, you can enter only data that isn't included in data migration from on-premises in the Business Central online tenant. Otherwise, any data that was written to the tenant database would be continuously overwritten during the migration process.

To make setting up this read-only tenant more efficient, we created the Intelligent Cloud permission set. Once the cloud migration environment is configured, existing users in the online tenant that don't have SUPER permissions are automatically assigned to the Intelligent Cloud permission set. Only users with SUPER permissions can make modifications to the system at this point. If you add any online users later, make sure you assign them Intelligent Cloud permission set. They're not assigned automatically.

Note

Before you configure a connection from on-premises to Business Central online, make sure that at least one user in each company is assigned SUPER permissions.

Users that are reassigned to the Intelligent Cloud permission set have access to read ALL data by default. If you need to further restrict what data a user should be able to read, the SUPER user can create new user groups and permissions sets and assign users accordingly. It's highly recommended to create any new permissions sets from a copy of the Intelligent Cloud permission set and then take away permissions you don't want users to have.

Warning

Granting insert, modify, or delete permissions to any resource in the application set to read-only can negatively affect data in Business Central online. If this condition occurs, you might have to clear all your data and rerun a full migration to correct it.

Migrate on-premises data to Business Central online introduction
Business Central 14 reimplementation tool for cloud migration
Intelligent insights with Business Central online
Migrate legacy help to the Dynamics 365 Business Central format
Upgrading from Dynamics NAV to Business Central online