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 that's built 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 are 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.

End-to-end process

This section outlines the general process or phases you go through to migrate data from on-premises to online.

  1. Preparation

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

    1. 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.

    2. Verify prerequisites:

      Prepare your on-premises environment for migration, including ensuring that it meets the prerequisites for migration, such as upgrading to the latest version of Business Central on-premises. This step is crucial in ensuring that your environment is ready for the migration process.

      To get started, go to Prerequisites.

    3. Verify that data is in the best state possible to complete the migration:

      This step involves reviewing 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.

    4. Optimize cloud migration performance:

      Follow practical steps to enhance to improve the efficiency and reliability of the migration process while minimizing the risk of data loss or downtime.

      To get started, go to Align SQL table definitions.

  2. Cloud migration setup

    The phase doesn't migrate any data, but 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.

  3. Data replication

    This step 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.

    At this point in the process, you can verify whether the migration went well or not, fix any problems, and rerun the replication multiple times if you want to. For example, suppose you ran the assisted setup guide from a test company in a sandbox environment because you worry that many extensions might be problematic. Once the data has been replicated to the sandbox environment, you can use the troubleshooting tools in the Business Central administration center.

    To get started, go to Replicate data.

  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 Business Central version that is earlier than the version used on the target online environment. During data upgrade, the logic required upgrade the platform-related data in database is run. This step starts when you choose the Run Data Upgrade Now action in the Cloud Migration Management page in Business Central online for the specific environment.

    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.

  5. Completion and follow-up

    Completion and follow-up are crucial steps in the cloud migration process, as they involve setting up and optimizing your new Business Central online environment. Here are some essential tasks to consider:

    1. Optimize your Business Central online environment:

      Configure the system to meet your business needs. This task may include setting up security, customizing forms and reports, and integrating with other systems. By taking the time to optimize your new environment, you can ensure that it meets your specific requirements and works seamlessly with your existing systems.

    2. Set up user access

      Grant access to your new Business Central online system for all relevant users. This task includes creating new user accounts, setting up permissions, and defining roles and responsibilities.

    3. Go live:

      Once you're satisfied that your new environment is set up correctly, it's time to 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.

By completing these tasks, you can ensure a successful migration to the cloud-based Business Central solution.

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. Do not set up cloud migration for a production environment that is already in use for business. You risk that the migration process overwrites data that is needed to run the business. Even if your migration targets a different company in that environment, you risk that the upgrade overwrites data that is shared across companies in the target environment.

Any existing data in Business Central online will be 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 will be 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

Once the cloud migration is set up and underway, the data that you can enter in the Business Central online tenant is limited to data that isn't included in data migration from on-premises. 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 will be allowed to 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

If you grant insert, modify or delete permissions to any resource in the application that was set to read-only, it could have a negative impact on the data in Business Central online. If this occurs, you may have to clear all your data and rerun a full migration to correct this.

See also

Migrate on-premises data to Business Central online introduction
Intelligent Insights with Business Central Online
Migrate Legacy Help to the Dynamics 365 Business Central Format
Upgrading from Dynamics NAV to Business Central Online
Important Information and Considerations for Before Upgrading to Dynamics 365 Business Central Spring 2019