On-premises upgrade paths: CRM 3.0 to Dynamics 365 9.1

Which release each on-premises version upgrades from, how to skip versions with interim upgrades, the three upgrade methods, what to fix first, and which Windows Server and SQL Server each version runs on.

Answer first

Every on-premises release upgrades from exactly one earlier release. To go further, you upgrade through each one in between.

To Supported upgrade from
CRM 3.0 CRM 1.2
CRM 4.0 CRM 3.0
CRM 2011 CRM 4.0 (32-bit servers by migration only)
CRM 2013 CRM 2011, at Update Rollup 14 or later
CRM 2015 CRM 2013 Service Pack 1
CRM 2016 CRM 2015
Dynamics 365 8.2 CRM 2016, by applying the December 2016 Service Pack
Dynamics 365 9.0 The December 2016 Service Pack (8.2), or a later update
Dynamics 365 9.1 Not covered: Microsoft’s upgrade pages say they don’t apply to the 9.1 update

Sources: the CRM 3.0 and 4.0 server readmes; the CRM 2011 Implementation Guide; the archived CRM 2013, 2015 and 2016 upgrade guides; and Microsoft’s 9.0 upgrade planning page.

Skipping versions

Sources: the CRM 2011 Implementation Guide, the archived CRM 2015 and 2016 guides’ pages on upgrading from older servers, Microsoft’s 9.0 “Before you upgrade” page, and the CRM 2013 upgrade guide.

You can’t jump straight across versions. Microsoft’s route is an interim upgrade to each release in between:

  • In place, with a valid product key for the interim version.
  • Or by migration, with a trial product key for the interim version. Import the organizations into a temporary deployment of the interim version, then into the target. Microsoft suggests building both deployments first, and notes the temporary one can be a virtual machine.

The documented chains:

  • CRM 3.0 to CRM 2011: through CRM 4.0, using a trial key.
  • 32-bit CRM 4.0 to CRM 2011: by migration only, because CRM Server 2011 is 64-bit only.
  • CRM 4.0 to CRM 2013: through CRM 2011, using a trial key.
  • CRM 2011 to CRM 2015: upgrade to CRM 2013, apply Service Pack 1, then upgrade to CRM 2015.
  • CRM 2011 or 2013 to CRM 2016: through CRM 2015.
  • CRM 2013 SP1 to 9.0: CRM 2015, then CRM 2016, each with a trial key, then apply the December 2016 update, then upgrade to 9.0.

Two warnings Microsoft attaches:

  • Sync offline Outlook users first. Users with Go offline should synchronize with the server before it’s upgraded.
  • Outlook clients have their own floor. CRM 2013 for Outlook isn’t compatible with CRM Server 2016; those users need at least CRM 2015 for Outlook.

Three ways to run the upgrade

Sources: the archived CRM 2015 and 2016 upgrade guides and the 9.0 upgrade planning page, which describe the same three options.

Option Needs Risk
Migrate to a new SQL Server instance A new server and a new SQL Server instance Recommended: the old deployment keeps running until the new one is verified
Migrate using the same SQL Server instance A new server The configuration and default organization databases are upgraded in place, so a failure means rolling back
In-place upgrade Nothing new Greatest risk: a failure means rolling back and reinstalling the previous version

What happens to the rest of the deployment:

  • Only the organization you name is upgraded in place. Other organizations are disabled until you upgrade them with Deployment Manager or, from 2016, the Import-CrmOrganization PowerShell command.
  • Older server roles are disabled once the first server is upgraded, and come back as each server is upgraded. The deployment isn’t fully working until every server and role is done.
  • Leave room for growth. Microsoft recommends free space of at least three times each organization’s database file and four times its log file. The files don’t shrink back afterwards.

Fix these first

Sources: the CRM 2013 upgrade guide and Microsoft’s 9.0 upgrade planning and in-place upgrade pages. Both guides give the first two points.

  • No entity with more than 1023 fields. The upgrade fails with CREATE VIEW failed because column 'column_name' in view 'view_name' exceeds the maximum of 1024 columns. The error decoder recognises it.
  • Remove custom database objects: triggers, statistics, stored procedures and some indexes. The database design changes between major releases.
  • Remove the ignorechecks registry subkey if someone added it by hand.
  • One deployment per SQL Server instance. Each deployment needs its own MSCRM_CONFIG database, and two can’t coexist on one instance.
  • Check the account that runs Setup. For 9.0, Microsoft lists:
    • an account in the servers’ Active Directory domain;
    • membership of the Deployment Administrator role, and the System Administrator role in every organization being upgraded (the upgrade fails if that role is disabled for the account);
    • administrator rights on SQL Server and Reporting Services;
    • permission to create security groups in the organizational unit that holds the existing groups.
  • Copy each organization’s encryption key before importing it into a new SQL Server instance.
  • Back up everything, and apply the latest update to the current version before starting.
  • For an in-place upgrade to 9.0: disable SQL Server replication, and uninstall Reporting Extensions if it’s on the same computer.

What each version runs on

Sources: each version’s “Software requirements” page in Microsoft’s archived 2013, 2015 and 2016 guides and its current 9.0 and 9.1 documentation; the CRM 4.0 and 2011 Implementation Guides; the CRM 3.0 readme; and Microsoft’s lifecycle pages, as given on each version page.

Version Windows Server SQL Server Support ended or ends
CRM 3.0 2000 SP4 (also works with 2005, with reporting issues) No lifecycle page found
CRM 4.0 2003 SP2 (including R2 and x64) and 2008 2005 SP3; 2008 10 April 2018
CRM 2011 2008 SP2 or R2, 64-bit only; 2012 2008 SP1 or R2; 2012 13 July 2021
CRM 2013 2008 SP2 or 2008 R2 SP1 (64-bit); 2012 and 2012 R2 2008 SP3 or R2 SP2; 2012 SP1 to SP3; 2014 6.0: 12 July 2016; SP1: 9 January 2024
CRM 2015 2012 and 2012 R2 2012 SP1 or SP3; 2014 RTM or SP2 14 January 2025
CRM 2016 and 8.2 2012, 2012 R2 and 2016 2012 SP3; 2014 SP2; 2016 with CU2 8.0: 10 July 2018; 8.1: 8 January 2019; 8.2: 13 January 2026
9.0 2016 2016 SP2 or SP3; 2017 11 July 2023
9.1 2016, 2019 and 2022 2016 SP2 or SP3; 2017; 2019; 2022 9 January 2031

“—” means this site hasn’t found a Microsoft requirements page for that version.

What the table leaves out:

  • Footnoted versions need a later CRM update:
    • on 2011, Windows Server 2012 needs a build with Update Rollup 6 to install and Update Rollup 13 or later afterwards, and SQL Server 2012 needs Update Rollup 6 or later;
    • on 2015, SQL Server 2012 SP3 and 2014 SP2 need CRM 2015 Update 1.2 or later;
    • on 9.0, SQL Server 2017 needs 9.0 Update 0.3;
    • on 9.1, Windows Server 2022 and SQL Server 2022 need Service Update 1.25.
  • Windows Server 2012 R2 on CRM 2013 needs Service Pack 1 or at least Update Rollup 2.
  • Editions matter. SQL Server Express is never supported, and Essentials and Foundation editions of Windows Server are excluded. The 2016 page covering 8.x was last updated in July 2018.

Reading the table as an upgrade plan: each hop can also force a platform change. CRM 2011 needs 64-bit Windows Server and dropped SQL Server 2005, CRM 2015 dropped Windows Server 2008 and SQL Server 2008, and 9.x dropped Windows Server 2012, so the SQL Server and Windows Server under an old deployment may need replacing before the interim upgrades can run.

Version-specific traps

The earlier upgrades have their own lists on each version page:

  • CRM 3.0: upgraded custom roles don’t get the new privileges.
  • CRM 4.0: stop every Workflow service first, and notes over 100,000 characters are truncated.
  • CRM 2013: the 2011 base and extension tables are merged, which can take hours.

What this page doesn’t cover

  • How the 9.1 update is applied to 9.0. Every Microsoft upgrade page found covers reaching 9.0 and says it doesn’t apply to the 9.1 update.
  • Client and component upgrades beyond the Outlook points above, such as Reporting Extensions, Language Packs and the Email Router.

Sources

  1. Plan your upgrade to Microsoft Dynamics 365 Server (9.0) Microsoft · · Primary, current docs Microsoft's 9.0 upgrade planning: the only supported path is from the December 2016 Service Pack (8.2) or later; the three upgrade options; only the named organization upgraded in place; free space; Setup account requirements; one deployment per SQL Server instance; the 1023-field limit, custom database objects and the ignorechecks subkey. The page says it doesn't apply to the 9.1 update.
  2. Before you upgrade: issues and considerations (Dynamics 365 Server 9.0) Microsoft · · Primary, current docs Microsoft's note that earlier servers can't be upgraded in place to 9.0 directly, with the interim route: CRM 2013 SP1 to 2015 and then 2016 using trial keys, then the December 2016 update.
  3. Upgrade Dynamics 365 Server (9.0 in-place upgrade) Microsoft · · Primary, current docs Microsoft's steps for the in-place upgrade to 9.0: only the December 2016 Service Pack or later can be upgraded, the backup strategy, and tasks before upgrading, including disabling SQL Server replication and uninstalling Reporting Extensions from the same computer.
  4. Software requirements for Dynamics 365 Server (9.1) Microsoft · · Primary, current docs Microsoft's supported Windows Server and SQL Server editions for 9.1: Windows Server 2016, 2019 and 2022, and SQL Server 2016 SP2 or SP3, 2017, 2019 and 2022, with the 2022 versions needing Service Update 1.25.
  5. Software requirements for Dynamics 365 Server (9.0) Microsoft · · Primary, current docs Microsoft's supported Windows Server and SQL Server editions for 9.0: Windows Server 2016, and SQL Server 2016 SP2 or SP3 or SQL Server 2017, which needs 9.0 Update 0.3.
  6. Dynamics CRM 4.0 lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 4.0: start 29 February 2008, mainstream support ended 9 April 2013, extended support ended 10 April 2018. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before.
  7. Dynamics CRM 2011 lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 2011: start 18 May 2011, mainstream support ended 12 July 2016, extended support ended 13 July 2021. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2021 end-of-support list confirms 13 July 2021.
  8. Dynamics CRM 2013 lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 2013: start 12 January 2014, mainstream support ended 8 January 2019, extended support ended 9 January 2024. Service Pack 1 (6.1) ran from 7 May 2014 to 9 January 2024; the original 6.0 release ended 12 July 2016. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2024 end-of-support list confirms 9 January 2024.
  9. Dynamics CRM 2015 lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 2015: start 11 February 2015, mainstream support ended 14 January 2020, extended support ended 14 January 2025. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before.
  10. Dynamics CRM 2016 (Dynamics 365) lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 2016 (Dynamics 365): start 30 November 2015, mainstream support ended 12 January 2021, extended support ended 13 January 2026. Releases: 8.0 from 30 November 2015 to 10 July 2018; 8.1 (Service Pack 1) from 23 May 2016 to 8 January 2019; 8.2 (December 2016 Service Pack) from 16 December 2016 to 13 January 2026. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2021 end-of-support list confirms mainstream support ended 12 January 2021.
  11. Dynamics 365 for Customer Engagement Apps, version 9.x (on-premises update) lifecycle Microsoft · · Primary, current docs Microsoft support dates for 9.x on-premises: start 31 October 2018. The page’s own note gives the end of mainstream support as 12 January 2029 and the end of extended support as 9 January 2031, while its table shows the following day at 6:59:59 AM. Version 9.1 runs from 7 June 2021 to 9 January 2031; 9.0 ended 11 July 2023.
  12. Microsoft CRM 3.0 Readme (server CD, September 2006) Microsoft · Primary, archived Private archive: Microsoft CRM 3.0 Professional server install media (CD 1), Readme.htm Microsoft’s release readme on the 3.0 server CD: the CD contents, where the Implementation Guide and SDK were published (the SDK’s Server Programming, Client Programming and Report Writers guides), upgrade from CRM 1.2 only, .NET Framework 1.1 SP1 and SQL Server 2000 SP4 requirements, the customization.xml import size limit, and privileges that upgraded custom roles do not receive. Read as a document from Microsoft install media; nothing on the disc was run.
  13. Microsoft Dynamics CRM 4.0 Server readme Microsoft · Primary, archived Private archive: CRM-SDK-Rescue/Microsoft_Dynamics_CRM_4.0_Server_Readme.htm Microsoft’s December 2007 readme for the 4.0 server. Upgrade from CRM 3.0 is supported, but not from CRM 1.2 or pre-release builds. It lists the 3.0-to-4.0 upgrade traps: stop every Workflow service first; only one server’s workflow rules, assemblies and instances are upgraded; notes over 100,000 characters are truncated; custom indexes and statistics are flagged; some reports can’t be upgraded; workflows that reference missing objects fail. After upgrade, workflow jobs are owned by the workflow owner, some workflow attributes are no longer supported, and Status Reason changes can now start workflows.
  14. Microsoft Dynamics CRM 4.0 Implementation Guide (compiled help, 2011 revision) Microsoft · Primary, archived Private archive: CRM-SDK-Rescue/Microsoft_Dynamics_CRM_IG (1).zip, 'Microsoft Dynamics CRM Implementation Guide.chm' (files dated 4 April 2011) Microsoft's Implementation Guide for CRM 4.0 (planning, installing and operating), in its final 2011 revision, obtained by the owner from Microsoft's archived download. Read as documents only. Covers Internet-facing deployment: the three supported configurations, forms authentication and the ServiceProviderLicenseAgreement strategy, the IfdInternalNetworkAddress registry value, configuration by XML file or the IFD Configuration Tool, the root domain properties, DNS records per organization, wildcard SSL certificates, the Help server, ISA Server and perimeter networks. Also lists the supported Windows Server, SQL Server and IIS versions for 4.0.
  15. Microsoft Dynamics CRM 2011 Implementation Guide (compiled help, 2013 revision) Microsoft · Primary, archived Private archive: CRM-SDK-Rescue/crm 2011 implementation guide/Microsoft_Dynamics_CRM_2011_IG.zip, CRM2011IG.chm (files dated 15 May 2013) Microsoft's Implementation Guide for CRM 2011 (planning, installing, operating and maintaining), in its May 2013 revision, obtained by the owner. Read as documents only. Covers the only supported upgrade path (from CRM 4.0, with 32-bit servers migrated because CRM Server 2011 is 64-bit only), components not upgraded, queue, ISV and Mobile Express changes, re-enabling IFD with the claims-based authentication and IFD wizards, and the supported Windows Server, SQL Server and IIS versions for CRM 2011.
  16. Upgrading from Microsoft Dynamics CRM 2011 and 2013 (CRM 2013 Implementation Guide) Microsoft · · Primary, archived Microsoft’s archived upgrade guidance for CRM 2013. The only supported upgrade path to CRM 2013 is from CRM 2011, at Update Rollup 14 or later (Rollup 6 supported but not recommended); CRM 4.0 must go through CRM 2011 first. Organization upgrade merges each table’s base and extension tables into one, which can be deferred for large customised databases, and a table with more than 1023 attributes fails the upgrade with a CREATE VIEW error.
  17. Upgrade a Microsoft Dynamics CRM Server (CRM 2015, archived) Microsoft · · Primary, archived Microsoft's archived CRM 2015 upgrade planning: the only supported path is from CRM 2013 Service Pack 1; server roles disabled until upgraded; the three upgrade options; only the named organization upgraded in place; free space.
  18. Upgrade from Microsoft Dynamics CRM Server 2011 (CRM 2015, archived) Microsoft · · Primary, archived Microsoft's archived guidance that CRM 2011 can't upgrade directly to CRM 2015: upgrade to CRM 2013 with a valid key in place or a trial key by migration, apply Service Pack 1, then upgrade to CRM 2015. Sync offline Outlook users first.
  19. Plan your upgrade to Microsoft Dynamics CRM 2016 Server (archived) Microsoft · · Primary, archived Microsoft's archived CRM 2016 upgrade planning: the only supported path to Dynamics 365 Server is CRM 2015 to CRM 2016 and then the December 2016 Service Pack; the three upgrade options; Import-CrmOrganization and Deployment Manager for other organizations; free space.
  20. Upgrade from Dynamics CRM Server 2013 or Dynamics Server 2011 (CRM 2016, archived) Microsoft · · Primary, archived Microsoft's archived guidance that CRM 2013 and 2011 can't upgrade directly to CRM 2016, and the interim route through CRM 2015 with a valid or trial product key. CRM 2013 for Outlook isn't compatible with CRM Server 2016.
  21. Software requirements for Microsoft Dynamics CRM Server 2013 (archived) Microsoft · · Primary, archived Microsoft's archived CRM 2013 software requirements: Windows Server 2008 SP2 or R2 SP1 and 2012 or 2012 R2 (R2 needing SP1 or Update Rollup 2), and SQL Server 2008 SP3 or R2 SP2, 2012 SP1 to SP3, and 2014.
  22. Software requirements for Microsoft Dynamics CRM Server 2015 (archived) Microsoft · · Primary, archived Microsoft's archived CRM 2015 software requirements: Windows Server 2012 and 2012 R2 only, SQL Server 2012 SP1 or SP3 and 2014 RTM or SP2, with SQL Server 2008 not supported and the later service packs needing CRM 2015 Update 1.2.
  23. Software requirements for Microsoft Dynamics 365 Server (CRM 2016 and 8.x, archived) Microsoft · · Primary, archived Microsoft's archived software requirements for CRM 2016 and Dynamics 365 8.x: Windows Server 2012, 2012 R2 and 2016, and SQL Server 2012 SP3, 2014 SP2 and 2016 with CU2.