Upgrade the Microsoft Dynamics Deployment


Applies To: Dynamics 365 (on-premises), Dynamics CRM 2016

Microsoft Dynamics CRM 2016 presents a significant advancement in features and functionality from the previous version. As such, existing features, solutions, and extensions may be affected as a result of the upgrade. This topic provides a best practices process to minimize downtime while helping determine issues that may occur as a result of the upgrade.

In This Topic

The upgrade process

Prepare to upgrade

Establish the test environment

Upgrade and validate the test environment

What to do when you cannot successfully upgrade or migrate?

The upgrade process

There are two separate environments as part of the upgrade process:

  • Test environment. The test environment represents a restricted deployment of Microsoft Dynamics CRM that is used to validate the upgrade. The test environment must mirror the production environment as closely as possible whereby there are substantial similarities in hardware (processor, disk, memory, and so on), technology platform (Windows Server, SQL Server, and so on), topology (1-server, 2-server, 5-server, and so on) and data (Microsoft Dynamics CRM databases). To create an appropriate environment for testing, it may require setting up Windows Network Load Balancing (NLB) or clustering, installing and configuring Microsoft Dynamics CRM components and applications, such as Email Router, workflows, customizations, and connectors, as well as installing any additional add-ons, plug-ins, or solutions particular to the deployment. Establishing a test environment that is running and configured wholly or in part by using virtualization technology, such as Windows ServerHyper-V, can greatly facilitate this process. In this test environment, the administrator performs the upgrade, optimizes for performance, may introduce upgraded code, and tests that the system is running well.

  • Production deployment. This deployment represents the deployment of Microsoft Dynamics CRM that is used by all Microsoft Dynamics CRM users in the organization. In the production deployment, the upgrade is performed, and the administrator may use strategies that optimize upgrade performance. The upgrade administrator may move upgraded code from the development or test environment to the production environment. The administrator then brings the production environment online, validates that the system is running well, and deploys Dynamics 365 for Outlook for users as needed.

Prepare to upgrade

Make sure you have enough staff, resources, and time to dedicate to the upgrade. As part of this phase, you must determine who will be involved in the upgrade, designate the test deployment hardware and software that will be used to validate the upgrade, and plan for potential failures.

You should also assess the current production environment for upgrade suitability. This requires reviewing the most recent Microsoft Dynamics 365 documentation.

Additionally, you must determine the acceptance criteria that will be used to decide whether to go forward with the production upgrade.


Microsoft Dynamics Sure Step is available to Microsoft Dynamics Partners to help reduce risk and guide you through the tasks associated with deployment and configuration of Microsoft Dynamics solutions. For more information about Microsoft Dynamics Sure Step, including training, methodology, and tool downloads, visit the PartnerSource website (requires Dynamics Partner membership).

Determine the upgrade strategy

To determine the upgrade strategy, you need to answer the following questions:

  • What will be upgraded? Upgrading the Microsoft Dynamics CRM server may require that you upgrade platform components such as Windows Server or SQL Server. It will also require that other Microsoft Dynamics CRM applications or solutions such as Dynamics 365 for Outlook and Unified Service Desk be upgraded.

  • When? What is the timeline for the upgrade?

  • How? For example, will you upgrade in-place or will you migrate to new hardware before the upgrade? This should also include how the upgrade will be rolled out. Who will validate the upgrade? Will there be a pilot or phased rollout? Based on the outcome of the test upgrade you may need to modify or mitigate your strategy and perform corrective actions to ensure functionality. For example, if some workflows cannot be upgraded, you must plan to re-create those workflows and test them.

Plan for failure, backup, and recovery

Some components, such as custom reports, workflows, custom JavaScript, or third-party extensions may cause the upgrade to fail or not function correctly. These items should be documented and a contingency plan be established for each issue. Additionally, custom JavaScript and third-party extensions may need to be removed before the upgrade.

Therefore, you must be prepared to quickly and completely rollback the system. If you will recover from any scenario, you must back up all needed information and store a copy offsite. A backup plan should be created and rehearsed for all Microsoft Dynamics CRM components and services to make sure that, if a failure occurs, the maximum amount of data is recoverable. To understand the failure-recovery procedures, you must examine several different scenarios to learn how restoration occurs in each case.

For more information about how to back up or recover Microsoft Dynamics CRM data, see Microsoft Dynamics 365 data protection and recovery.

Review appropriate planning and prerequisite documentation

Product documentation is instrumental in helping you scope the amount of preparation required before you upgrade. The documentation to review should include:

Ensure you have the latest technologies

For best results, verify that you have applied the latest service packs and update rollups not only for Microsoft Dynamics CRM but for other dependent technologies such as Windows Server, SQL Server, and Exchange Server.

Determine an upgrade plan and checklists

In this task you will determine how to evaluate the overall functionality and production readiness of the upgraded environment. The purpose of these tasks is to validate a production ready and fully operational system suitable for rolling out to the user base.

Use the following steps as a checklist for the tasks that are required leading up to the production upgrade or "go-live" day.

Verify that the system is functional after the upgrade by performing these basic tests:

  • Review the Setup log files for issues that may have occurred during the upgrade. By default, Setup creates these files in the C:\Documents and Settings\<username>\Application Data\Microsoft\MSCRM\Logs folder on the computer where Setup is run and where <username> is the name of the user account who ran Setup.

  • Review the Event Viewer log files. Microsoft Dynamics CRM events are recorded under the sources that begin with MSCRM in Event Viewer.

  • Run the Microsoft Dynamics 365 Windows PowerShell commands to verify server and organizations that were upgraded are enabled. More information: Administer the deployment using Windows PowerShell

    Alternatively, start Deployment Manager and verify that all Microsoft Dynamics CRM servers are enabled and that the upgraded organizations are enabled. Depending on whether you migrated or performed an in-place upgrade, additional organizations are upgraded by using the Import Organization Wizard or the Upgrade Organization Wizard in Deployment Manager.

  • Start Internet Explorer and connect to the Microsoft Dynamics CRM server. After you have performed the previous tasks, perform a user acceptance test. The following is an example of some of the features to test in a typical organization:

    • Validate reports against previous version reports.

    • Print reports in Microsoft Dynamics CRM.

    • Validate applicable data in the Microsoft Dynamics CRM system, such as creating, editing, deleting, and promoting/converting records for the following entities:

      • Accounts

      • Contacts

      • Opportunities

      • Cases

      • Activities

      • Custom Entities

    • Verify workflows against previous workflows. Update any workflow items affected by configuration or data model modifications.

    • Test all custom code, JavaScript, and custom reports (if applicable).

    • Test all integration processes (if applicable).

    • Test remote client and mobile app access and functionality.

    • Test of third party applications or extensions.

Establish the test environment

We strongly recommend that you plan to run at least one test upgrade before you upgrade your production environment. After you run a test upgrade, verify the product configuration by performing operations that you would typically use in your production environment. For example, for a service organization, you may want to create an e-mail activity related to a case, and then verify the functionality by sending a test e-mail that contains text from an existing case. If you receive any errors while you are using Microsoft Dynamics CRM in a test environment, make sure that you resolve them before you upgrade your production environment.


Virtual machine software, such as Windows Server Hyper-V, can ease the deployment time to establish the test environment as well as limit the amount of hardware resources that are required to emulate the production deployment.

Determine which computers you will use, or, if you are using virtual machine technology, which virtual machine you will use.

Migrate by using a new instance of SQL Server

We recommend this upgrade option because it lets you maintain a deployment of the previous version at the same time that a new Microsoft Dynamics CRM system is being deployed. This reduces application down time as the new deployment can be installed, organizations imported, and then verified without effecting the production deployment in the event of an issue.


The Migrate by using a new instance of SQL Server option provides the least amount of potential downtime in the event of an issue as the result of the upgraded deployment.

  1. Establish a new instance of SQL Server. You can use an existing instance but it must not be the same instance where the previous version’s configuration database is located.

  2. Run Microsoft Dynamics CRM Server Setup on a new 64-bit computer that does not already have Microsoft Dynamics CRM Server installed.

  3. Back up the production Microsoft Dynamics CRM configuration and organization databases and restore them to the new instance of SQL Server.

  4. Run the Import-CrmOrganization Windows PowerShell command or run the Import Organization Wizard to import one or more organizations to the newly installed system. During the import, the organization database will be upgraded to the new version.

  5. If you have additional organizations or if you are using a new SQL Server for the migration, you must import the organization databases to the new system. To do this, on the computer where the new version of Microsoft Dynamics CRM Server is installed and running, run the Import-CrmOrganization Windows PowerShell command. Alternatively, start Microsoft Dynamics CRM Deployment Manager, right-click Organizations, click Import Organization, and then select the newly restored OrganizationName_MSCRM database.

  6. If customizations were made to .NET assemblies or configuration files, you must copy those customized files to the new system. By default, these files are located under the <drive>:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly\ folder on the earlier version of Microsoft Dynamics CRM Server.

Upgrade and validate the test environment

Verify the newly upgraded environment for stability and operation. This includes having a select set of users connect by using the Microsoft Dynamics CRM web application and use the system to perform all normal day-to-day tasks. Make sure workflows and reports are functioning correctly and test that new features from the upgrade are functioning as well.

Run acceptance criteria and checklists

Execute the previously mentioned tasks on the new deployment. Based on the tests, a decision will be made to either implement or not implement the upgrade to the production environment.

User acceptance testing

After the test checklist is completed and the quality of the tasks is within acceptable limits, user acceptance testing can start. This involves a subset of all users and typically can involve key users that carry out their normal day-to-day tasks against the system. These key users report any issues or unexpected behavior to the Microsoft Dynamics 365 administration team for action.

Go live

After user acceptance testing has successfully completed, bring the new Microsoft Dynamics CRM server online. This may require removing the previous version server before joining the new Microsoft Dynamics CRM Server to the domain, configuring the IIS bindings to use the same bindings as the previous version of Microsoft Dynamics CRM website, and updating DNS records as necessary to correctly resolve to the new website.

What to do when you cannot successfully upgrade or migrate?

If, after following the guidelines in this section, you cannot successfully upgrade the production deployment or migrate, use the following resources to help resolve the issue.

Self support

Assisted support

Contact Microsoft Customer Support Services. For a complete list of Microsoft Customer Support Services telephone numbers and information, visit the Microsoft Customer Support page.

See Also

Upgrade a Microsoft Dynamics CRM 2015 Server
Advanced deployment options for Microsoft Dynamics 365 Server

© 2016 Microsoft. All rights reserved. Copyright