Data upgrade from Microsoft Dynamics AX2012 R2 / AX2012 R3 to Dynamics 365 for Finance and Operations. How to ?!

Upgrading Microsoft Dynamics AX2012 to Dynamics 365 Finance and Operations brings the digital transformation in most companies, by giving them the ability to use significant new features and capabilities. Recently, we have added another successfully completed data upgrade project for one of our clients in our portfolio…

If you are looking for some help while upgrading from AX2012 R2 or Ax 2012 R3 to Dynamics 365 then you are at the right place.

This process contains several phases:

  • Preparing the database in the AX2012 environment
  • Installing a deployable package on the D365 development environment
  • Migrating upgraded database from D365 one-box to sandbox environment





AX2012 procedure

The process starts in the AX 2012 environment where you have to prepare the ax2012 database for upgrading to Dynamics 365. Microsoft has put together a pre-upgrade checklist that has to be installed in Dynamics AX 2012. The checklist ensures you have updated information in your database for the AX 2012 to D365 upgrade.

After the installation of the hotfix, run the sysCheckList classes to prepare the database. After executing the process in the AX2012 environment we must make a backup from this database and transfer it to the D365 development environment. For transferring databases between environments, we will use Microsoft Azure Storage.


D365 procedure

Most of the errors must be resolved in this process while installing the data upgrade deployable package.

The process on D365 development environment is following:

  1. Restore and rename the database
  2. Install deployable package
  3. Made another back up from this database and restore it to prepare it for Tier2 environment
  4. Export a bacpac file for transferring


– Restore the database

After restoring the database on D365 environment we need to rename the names of the databases. Rename the original AxDB to AxDB_Orig and then rename the newly restored database to AxDB.

– Install a deployable package

Download data upgrade deployable package from Shared asset library from Software deployable package, find the data upgrade package that corresponds to your upgrade. If you’re upgrading from AX 2012, the package name starts with AX2012DataUpgrade-x-x-x where x-x-x is the application release. Select the package that corresponds to the release you are upgrading to. After downloading extract it and install it.

– Made back up to prepare the database for Tier 2

After the installation of the deployable package completes, we need to make back up from this database and restore it again in this environment. We will do this because we will delete some objects from it to prepare for the sandbox environment.

Do the following steps in SQL management studio against the newly imported database:

– Update sysglobalconfiguration table

– Drop procedure XU_DisableEnableNonClusteredIndexes and drop following users: axdbadminaxdeployuseraxmrruntimeuseraxretaildatasyncuseraxretailruntimeuser

-remove NT users as these are not supported in Azure SQL Database

-remove any AX 2012 RTM model store procedures that still exist

-If you receive a message that you cannot delete users because they own a schema, then check which schema the user owns. Either change the ownership to another user (for example to do) or drop the schema if it does not contain any objects.

-drop all views in the current database because some refresh the tempDB, which is not a supported action in Azure SQL Databases

– Drop MaintainShipCarrierRole procedure because it contains a tempDB reference that is not supported in Azure SQL Database

– Export a bacpac file for transferring 

After all this, the last step on the development environment is to export a bacpac file that should be imported in a sandbox environment. Go to the following location and execute the following command for exporting the file

A process on the D365 sandbox environment

After transferring the database, we need to do the following steps

– Import the database

– Create users and prepare the database

– Rename the database

– Full database synchronization

– Import the database

Import the database into the sandbox environment.

– Create users on newly imported database

Create users that were dropped in the preparation procedure. The passwords for the users must be copied from the LCS from the environment where we are importing the database.

After users are created, alter the database with the required configuration.

– Rename the database

– Full database synchronization  

Run full database synchronization and after it completes successfully you are ready to use the environment.


If you are interested in optimizing/improving your business processes, making the experience while using the application a whole lot easier in the long run, having the data secured in the cloud at the same time, and in need for someone to upgrade your systems from Microsoft Dynamics AX to Dynamics 365, we are open for future collaboration.

Write us at!

And if you are interested in potential career opportunities, check out our careers page.

Leave a Reply