videoIntegration & APIsofficial - Microsoftreviewed - checked by Opus

Introduction to Business Central Cloud Migration (2023)

Business Central cloud migration from on-premises SQL to SaaS, using Azure Data Factory SQL to SQL copy: setup, table mappings for custom fields, replication, upgrade, go-live, and troubleshooting. Includes upgrade path limits (version 14 minimum, direct path from 14 ending April 2025 with version 26) and a full demo.

  1. 0:00 Introduction and Overview
  2. 1:23 Why Use Cloud Migration Tooling
  3. 3:26 Community and Documentation
  4. 4:31 End-to-End Cloud Migration Demo - Setup and Company Creation
  5. 8:45 Data Replication and Data Upgrade
  6. 11:15 Completing Cloud Migration
  7. 11:57 Cloud Migration Paths and Upgrade Strategy
  8. 16:12 Preparation Step: Aligning SQL Definitions
  9. 19:50 Data Cleanup and Compression
  10. 21:56 Cloud Migration Infrastructure and Setup Phase
  11. 26:43 Setup Considerations and Environment Recommendations
  12. 29:09 Table Mappings: Migrating Custom Fields to Extensions
  13. 34:00 Table Mappings UI, Export, Import, and Delegated Admin
  14. 37:46 Data Replication Mechanism and Azure SQL Improvements
  15. 42:00 Replication Status UI and Migration Completion Options
  16. 46:38 Cloud Migration Limitations and Upgrade Process
  17. 49:11 Upgrade Process and Performance Optimizations
  18. 52:24 Post-Upgrade Configuration and Multiple Company Migration
  19. 55:03 Troubleshooting and Telemetry Monitoring
  20. 57:59 Power BI Reporting and Testing Recommendations
video Microsoft Dynamics 365 Business Central (YouTube) · 2023-11-10Watch on YouTube

Overview

The session from November 2023 walks through the Business Central cloud migration tooling end to end. It covers the setup wizard, the self-hosted integration runtime, automatic company creation, data replication, data upgrade and completing the migration to go live.

It also covers preparation (aligning SQL definitions, data cleanup), table mappings that move custom fields into table extensions, delegated admin consent, how replication works, limits such as 300 companies per SaaS environment, post-upgrade steps like user mapping, and troubleshooting with telemetry and a Power BI app.

Key points

  • Cloud migration uses Azure Data Factory SQL to SQL copy. On-premises sources need a self-hosted integration runtime installed in the private network. Migrating from Azure SQL is faster and more stable, and skips the blob storage staging step.
  • Version 14 is the lowest supported version for direct migration or upgrade. The direct path from version 14 stops in April 2025 with version 26. A jump version is planned every five versions, and the next one would be 30.
  • Setup applies changes to the on-premises database through stored procedures. Try the first migration on a backup of production, and a sandbox test is also recommended.
  • Table and field definitions must match exactly in name and type, and primary keys must be aligned. Table mappings move custom fields into table extensions. They can be exported and imported as JSON, or generated by subscribing to an event in codeunit 401.
  • Run the data upgrade as the very last step. No more replication or company additions are possible afterward. Do not change data in the SaaS database during replication.
  • Postpone environment updates in the admin center during migration, because running them forcefully stops the migration.
  • SaaS has a hard limit of 300 companies, and 250 is recommended. User mapping can run only once per environment, as the last step. Moving more companies into a live tenant is not officially supported.

Features

Feature Status At Evidence
Cloud Migration Tooling status not stated, demoed 1:44
Azure Data Factory Pipeline status not stated, demoed 5:31
Integration Runtime status not stated, demoed 5:51
Self-hosted integration runtime status not stated 23:09
Automatic Company Creation status not stated, demoed 8:05
Data Replication status not stated, demoed 8:45
Data Upgrade status not stated, demoed 9:54
Cloud Migration Management Page status not stated, demoed 4:51
Direct upgrade path discontinuation from version 14 status not stated 13:49
Jump versions and five-version upgrade cycles announced 15:11 “we are planning to introduce these jump versions or to delete the objects every five versions so the next jump version would be 30” (15:52)
SQL table definition alignment status not stated 16:23
Table extension support for customizations status not stated 17:43
Three-character prefix/suffix field naming status not stated 18:24
Invoke NV sanitized field commandlet status not stated 19:50
Data Administration page status not stated 21:02
Cloud migration setup phase with preparation pipeline status not stated 24:42
Replication pipeline preparation status not stated 26:23
Backup recommendation for on-premises migration status not stated 27:01
Azure SQL database migration preference status not stated 27:39
Postpone environment updates during cloud migration status not stated 28:38
Application Insights telemetry for cloud migration status not stated 29:09
Table mappings for custom fields migration status not stated, demoed 29:29
Managed custom tables page for table mappings status not stated, demoed 31:48
Table mappings export and import status not stated, demoed 34:53
Programmatic table mappings via codeunit 401 status not stated 35:05
Keep user permissions during cloud migration setup status not stated 36:27
Delegated admin consent for cloud migration status not stated, demoed 37:06
Azure Data Factory pipelines for replication status not stated 38:27
Large table vs bulk copy replication strategy status not stated 39:47
Incremental replication with SQL change tracking status not stated 40:28
Azure blob storage removal for Azure SQL status not stated 41:09
Cloud migration UI with status dashboard status not stated, demoed 42:00
Replication action log with run history status not stated, demoed 42:20
Company replication filtering and selection status not stated, demoed 43:57
Per-database table data review status not stated, demoed 44:17
Replication data filtering by table name status not stated, demoed 45:18
Table inclusion-exclusion for replication status not stated 45:38
Cloud migration completion and pause-abandon options status not stated, demoed 45:57
300 company limit in SaaS status not stated 46:38
Data storage capacity constraints status not stated 46:58
Upgrade as final step in migration status not stated 48:09
Per-database table upgrade constraints status not stated 48:30
Single-location data modification rule status not stated 49:11
Upgrade process with versioning ignored status not stated 49:51
AppSource and custom app upgrade handling status not stated 50:32
Sandbox testing before upgrade status not stated 50:52
Upgrade performance optimizations status not stated 51:23
API upgrade background jobs status not stated 52:03
User mapping functionality status not stated, demoed 53:20
One-time user mapping execution status not stated 53:40
Dataverse integration configuration status not stated 54:06
Multiple company migration in live tenants status not stated 54:23
Cloud migration troubleshooting documentation status not stated, demoed 55:23
Cloud migration telemetry events status not stated, demoed 56:03
Power BI cloud migration app status not stated, demoed 56:45
Telemetry-based alerts and notifications status not stated 57:39

AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

Not found in BC28-30: page “Data Administration page”, codeunit “401 hybrid cloud management”, page “add table mappings”, page “managed custom tables”, page “delegated admin consent for cloud migration”, table “tenant media table”, table “change log”, page “cloud migration page”, page “defined user mappings page”, page “users list”.

Quotes

  • 1:44 “it is the fastest and safest way to migrate the on Prem data into sauce the reason why it is the fastest way is”
  • 2:25 “it has been used by the thousands of Partners unfortunately I cannot tell you how many migrations exactly we had but it is counted”
  • 3:06 “looked into which data should be replicated and which should be left on prem for all of the microsoft on tables so”
  • 10:14 “we will move the tenant into the maintenance mode and the only session that is going to be running on the tenant is is”
  • 12:13 “14 is the lowest version that we support for direct on prem upgrade or for the direct cloud migration”
  • 13:49 “we are stopping the direct upgrade and Cloud migration path from Dynamics business Central 14 in approximately year and a half from now so”
  • 14:10 “in April 2025 together with version 26 it will not be possible to Cloud migrate or directly upgrade from version 4 14”
  • 14:30 “we need to remove obsolet fields and tables we have not been cleaning up objects in a very long time actually from version 12”
  • 15:52 “we are planning to introduce these jump versions or to delete the objects every five versions so the next jump version would be 30”
  • 16:41 “you only need to take care of two things the first thing that you must do is that you need to align the primary”
  • 17:02 “if there is a difference in the name and type we are going to throw an error it’s possible to move the data with”
  • 19:50 “run invoke NV sanitized field commandlet to eliminate non-printing characters from code Fields”
  • 22:37 “the main technology we rely on is the Azure data Factory which is an Azure cloudbased data integration uh service”
  • 27:01 “since the stored procedures will actually apply some changes to the on Prem database uh we highly recommend to try the cloud migration for”
  • 27:39 “based on some very recent improvements that we have applied throughout the last year we can safly claim that the migrations from aure SQL”
  • 28:38 “when we’re working with Cloud migration is that if there’s any available updates for the environment in the admin Center we strongly recommend to”
  • 28:58 “we would forcefully stop Cloud migration and then you would be forced to start over again deleting the environment”
  • 29:29 “the aim of table mapping is to move custom fields to table extensions in SAS and this is specifically because on Prem you’re allowed”
  • 35:05 “you able to provide these table mappings programmatically if you subscribe to the on insert default table mappings event from code unit 401 hybrid”
  • 37:06 “it will always be a licensed super user that is able to perform the cloud migration setup and all the actions that follow but”
  • 39:47 “for the large tables for such tables that we identify as large meaning that the size exceeds 250 mbytes or there’s more than 100,000”
  • 40:48 “we rely on SQL change tracking mechanism to keep track of the changes and then perform additional replication runs only on the Deltas”
  • 41:09 “the removal of of the need for the Azure blob storage uh staging step for Azure SQL”
  • 46:38 “when you have an environment in SAS we enforce a strong limit of 300 companies”
  • 48:09 “upgr step needs to be invoked as an absolutely last step in the cloud migration”
  • 49:11 “do not change the data in SAS database because you’re risking that your changes are going to be overwritten”
  • 51:23 “in the last two versions we have optimized over 30 long running upgrade methods”
  • 52:03 “we have introduced the functionality so you can run it after the cloud migration”
  • 53:20 “we are going to go through all of the tables which are using username and it is important for business Logic for example my”
  • 53:55 “you can do it only once per environment so you should do it as the last step because you will not be able to”
  • 54:23 “are can we move additional companies in live tenants and the answer is we do not officially support it and we strongly advise against”
  • 54:43 “you’re doing it on your own risk it is the same as running rapid start or using any kind of ptes to to fix”
  • 55:43 “we do collect some of the most common issues that can occur either during the setup or the replication phase”
  • 57:59 “there is no need to wait you can just take a database and test the cloud migration to a Sandbox”

Disclaimers in the video

  • 13:49 coming-later: we are stopping the direct upgrade and Cloud migration path from Dynamics business Central 14 in approximately year and a half from now so in April 2025 together with version 26
  • 27:01 other: we highly recommend to try the cloud migration for the first time on a backup of the production database
  • 36:06 not-in-this-release: Details about selective table inclusion will be elaborated more into more specific details in what’s new in Cloud migration session
  • 45:38 coming-later: we will cover about in what’s new then the next thing that you can do is that you can complete the cloud migration
  • 52:24 coming-later: we are going to be talking about it more in the what’s new session
  • 52:24 other: we are recommending to skip this step and we are going to be talking about it more in the what’s new session
  • 54:23 not-in-this-release: we do not officially support it and we strongly advise against it
  • 54:43 other: you’re doing it on your own risk
  • 55:03 other: we will write the dedicated documentation topic that it will explain to you how you can do this safely

Presenters (as heard): Nicola, Ricardo, Nicolas.