Running the Cloud Migration Tool

Customers running their workloads on-premises can migrate to Business Central online by running the cloud migration tool.

The same tool can also be used to set up a connection to the intelligent cloud but still remain on-premises. For the list of currently supported on-premises solutions, see Which products and versions are supported for connecting to the intelligent cloud? in the FAQ.

Setting up your connection using the cloud migration tool

This section provides the steps required to get the cloud migration setup through a connection to Business Central online. This can simply be done by following the instructions in the Cloud Migration Setup assisted setup wizard in your Business Central online tenant.

There are a few key points that need to be understood before you start the process:

  • It is always a best practice to test this configuration in your sandbox environment before making changes to a production tenant. For more information, see Managing Environments.

  • Any existing data in your Business Central tenant will be overwritten with data from your on-premises solution, or source, once the data migration process is run. If you do not want data in your Business Central online tenant to be overwritten, do not configure the connection.

  • All users that do not have SUPER permissions will be automatically reassigned to the intelligent cloud user group. This will limit them to read-only access within the Business Central tenant. See more below.

  • If your data source is 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.

  • In the current version of Business Central, the migration tool has been optimized to migrate databases up to 30 GB. If your database is larger than 30 GB, we recommend that you reduce the number of companies that you are migrating data for. You can specify which companies to include in the migration in the assisted setup wizard.

    If you want to add more companies after the first selection of companies, you can add additional companies in the Cloud Migration Management page in the Business Central online tenant. For more information, see Adding a tenant to an existing runtime service, or updating companies.

    If you are looking at migrating a larger database, we recommend that you contact the support team and work with them to make sure that the migration is successful. Options for databases larger than 30 GB will be available in a future update, as we are continually working on improving and optimizing the migration tool for larger database sizes.

  • Before setting up the connection to the cloud migration, ensure that at least one user in the system that has SUPER permissions. This is the only user that will be allowed to make changes in the Business Central tenant.

  • Configuring the cloud environment will have no impact on any users or data in your on-premises solution.

To begin configuring the connection, navigate to the assisted setup page and launch the Cloud Migration Setup assisted setup guide. If you are using Business Central on-premises, the same setup guide is also available in your on-premises solution. You will automatically be redirected to your Business Central online tenant to continue the configuration process.

The assisted setup guide

The assisted setup guide consists of up to six pages that take you through the process of connecting your solution to the Business Central cloud tenant.

  1. Welcome and Consent page

    This page provides an overview of what the wizard will do. You must agree to the displayed warning message before you can continue to the next step.

  2. Product selection

    On this page, specify the on-premises solution that you want to replicate data from. All supported sources will appear in the list. If you don’t see your product, navigate to the Manage Extensions page, and then verify that the intelligent cloud extension for your on-premises solution is installed.

  3. SQL Connection

    If the product you selected requires a SQL connection, this page will be presented. Other source applications may require different information to connect to them. This page will display the connection information based on the product that you specified in the previous page. This is defined from the installed extensions for the product you have selected.

    Field Description
    SQL Connection SQL Server, which is your locally installed SQL Server instance, or Azure SQL.
    SQL Connection string You must specify the connection string to your SQL Server. For more information, see the SQL Server blog. The following snippets illustrate a couple connection strings with different formats:
    Server={SQL Server Name};Initial Catalog={Database Name};UserID={SQL Authenticated UserName};Password={SQL Authenticated Password};

    Server={SQL Server Name};Database={Database Name};User Id={SQL Server Authenticated UserName};Password={SQL Server Authenticated Password};

    The SQL connection string is passed to Azure Data Factory (ADF), where it is encrypted and delivered to your Self-Hosted Integration Runtime and used to communicate with your SQL Server instance during the data migration process.
    Integration runtime name If your SQL connection is SQL Server, you must specify the runtime service that will be used to replicate the data from the defined source to your Business Central online tenant.
    If you are a hosting partner, you may have multiple tenants running on the same Integration runtime service. Each tenant will be isolated in their own data pipeline. To add tenants to an existing integration runtime service, enter the name of the existing integration runtime service into this field. The integration runtime name can be found in the Microsoft Integration Runtime Manager. To create a new runtime service, leave the field empty, and then choose the Next button. Once you choose Next, a new pipeline will be created in the Azure service. This should take less than a minute to complete.
  4. Self-Hosted Integration Runtime (SHIR)

    This is the service will allow access to the Azure replication services to your on-premises SQL Database during the migration process. Follow the instructions on this page to install the Self-Hosted Integration Service (SHIR) to a local machine.

  5. Company Selection

    You will be provided with a list of companies from your on-premises solution, or source. Select the companies you would like to migrate data for. If the company does not exist in your Business Central tenant, it will be automatically created for you. This process may take several minutes depending on the number of companies that need to be created.

  6. Enable & Scheduling Migration

    The final page in the wizard allows you to enable the migration process and create a schedule for when the data migration should occur. These settings are also available within your Business Central tenant on the Cloud Migration Management page. You have the option to schedule migrations daily or weekly. We recommend that you schedule your data migration for off-peak business hours.

Note

The amount of time the migration will take to complete is dependent on the amount of data, your SQL configuration and your connection speed. Subsequent migrations will complete more quickly as only changed data is migrating.

Adding a tenant to an existing runtime service, or updating companies

There are some scenarios where it will be necessary for you to run the cloud migration setup wizard more than once.

One example is if you want to change the companies you replicate data for. If the companies in your on-premises solution have changed, either added or deleted, or you want to change the companies to replicate, run the assisted setup wizard again. Alternatively, choose additional companies in the Cloud Migration Management page.

Another example of why you would want to run the wizard again is you may be a hosting partner and want to add tenants to your existing runtime service.

In both examples, you will be making updates to an existing runtime service. When you get to the point of the wizard where you can specify an existing runtime services name, open the Microsoft Integration Runtime Service Manager and enter the runtime name in the field in the wizard; you will not be allowed to copy/paste. The runtime service will identify that you are making updates to an existing service and will not create a new one.

Complete the steps in the wizard to update the runtime service. If the change was related to adding tenants to an existing service, a new data pipeline will be created for that tenant. Changing your migration schedule or regenerating an Azure Data Factory (ADF) key may be done using the Cloud Migration Management page in your Business Central cloud tenant. For more information, see Managing your Intelligent Cloud environment.

User groups and permission sets

When running as connected with an on-premises solution, the Business Central online tenant will be read-only with few exceptions. Because the on-premises solution is your primary application for running your business, including activities such as data entry, tax reporting, and sending invoices, these tasks must be completed in the on-premises solution. We limit the amount of data that you can enter in your Business Central tenant to data that is not migrated. 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 a new Intelligent Cloud user group and an Intelligent Cloud permission set. Once the cloud migration environment is configured, all users without SUPER permissions will be automatically assigned to the Intelligent Cloud user group. Only users with SUPER permissions will be allowed to make modifications to the system at this point.

Note

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

Users that are reassigned to the Intelligent Cloud user group will 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 may create new user groups and permissions sets and assign users accordingly. It is highly recommended to create any new permissions sets from a copy of the Intelligent Cloud permission set and then take away permissions you do not 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 the Business Central cloud tenant. If this occurs, you may have to clear all your data and rerun a full migration to correct this.

Extensions

It is highly recommended that you test the impact of any extension in a sandbox environment before having it installed in your production Business Central tenant to help avoid any data failures or untended consequences.

System requirements

To connect to the cloud through Business Central, the on-premises solution must use SQL Server 2016 or a later version, and the database must have compatibility level 130 or higher. The on-premises solution must also be one of the supported versions. For more information, see Which products and versions are supported for connecting to the intelligent cloud? in the FAQ.

See Also

Managing your intelligent cloud environment
Migrating On-Premises Data to Business Central Online
Frequently Asked Questions about connecting to the intelligent cloud
Your Access to the Intelligent Cloud