This is adapted from the InfoStrat White Paper "Upgrading Dynamics CRM." Download the full whitepaper here: http://www.infostrat.com/#!upgrading-dynamics-crm/c15ht
On-Premise Upgrade Steps
2. Make a backup of your existing CRM 4.0 SQL organization database using SQL Server Management Studio (it will have a name like OrganizationName_MSCRM).
3. Physically copy the backup from step 2 to your new server that will be hosting the SQL Server databases behind your CRM 2011 install.
4. Create a new SQL Server database on your new server hosting the SQL Server databases for CRM 2011 using SQL Server Management Studio.
6. Open the CRM 2011 Deployment Manager
software that is running on your new server that is running the CRM 2011 web
application. Click on the Import
Organization Wizard.
When
migrating from CRM 4.0 to Dynamics CRM 2011, there are no changes in
customizations required, as CRM 2011 supports all CRM 4.0 JavaScript, plugins
and DLLs. However, Dynamics CRM 2013 does not support some CRM 4.0 DLLs, SDKs,
JavaScript and plugins. The Legacy
feature check tool from Microsoft helps to check all customizations which are
unsupported by Dynamics CRM 2013.
Upgrading CRM
2011 to CRM 2013
There are multiple approaches
available to upgrade CRM 2011 to CRM 2013.
In all cases the process begins with installing a new instance of CRM
2013. Once the new instance is created,
the options generally consist of:
We believe only Option 1 presents
an appropriate level of risk, assuming that the application can be “frozen” for
the time it takes to perform the final iteration of the upgrade.
Data Migration Design
As with the application upgrade, there are multiple options for migrating data in an upgrade from CRM 2011 to CRM 2013
1. Back up the CRM 2011 SQL Server database and restore to the CRM 2013 SQL Server database, then import the CRM 2011 Organization using the CRM 2013 Deployment Tool. This will migrate all data without a separate data import.
2. Export
data from CRM 2011 and import into CRM 2013 using the CRM Import Tool, SQL
Server Integration Services (SSIS) or a third party tool such as Scribe.
Multiple Iteration Upgrade
Approach
A manual inspection and analysis of the CRM 2011 application will be performed and will compare the implementation techniques used to the list of changes in CRM 2013. For the automated code checking, there is a tool provided by Microsoft called Microsoft Dynamics CRM 2013 Custom Code Validation Tool which can check JavaScript customizations. It is important to note that both the manual inspection and the automated tool will only produce a list of what might need to be technically replicated in CRM 2013 from CRM 2011. These processes do not address the issue of what is the least effort and best practice to accomplish the same goal functionally in CRM 2013 that was accomplished in CRM 2011.
· JavaScript code which supports an HTML web resource and interacts with the DOM of that web resource.
· Code in JavaScript libraries to test for browser compatibility.
Sample Step-by-Step Plan:
· SQL Server 2012
· Windows client – Windows 7 and Windows 8
· Internet Explorer 10/11
· Exchange Server 2010/2013
· Outlook 2010/2013
Two Methods to Upgrade:
f your database
is not in the merged state, Microsoft will merge it during the upgrade. If the database cannot be merged, the upgrade
will cease and the owner notified and told of what is wrong. You will need to correct the issue prior to
upgrading.
The Solutions
Framework is the means by which you move customizations from one CRM
organization to another. With CRM 2013
Service Pack 1, Microsoft has added the ability to export a solution to a
specific version of CRM. CRM 2015
solutions will integrate with CRM 2015 deployments but will not be importable
into CRM 2013 deployments. Microsoft does not support CRM 2011 solutions coming
directly into CRM 2015.
For customers who upgrade to CRM 2015 who have not upgraded to use CRM 2013 “V6” forms, the older V5 forms (“Information forms”) will be imported into CRM 2015 and will continue to work as they did in CRM 2013. The CRM form designer will retain the ability to migrate forms to V6 forms. As Microsoft adds new capabilities and features to CRM 2015, however, these will be added only to the new forms and not to the old forms.
On-Premise Upgrade Steps
Upgrading from
CRM 4.0 to CRM 2011
There are two different types of upgrades:
1. In Place
– use existing servers and upgrade the existing live system in place.
2. Migration
– Set up a new server environment and migrate the CRM organizations from CRM
4.0. We recommend the Migration Upgrade approach as it provides the ability to
test the upgrade multiple times, allows for performance benchmark testing and
leaves your existing CRM 4.0 environment in tact in case a rollback is
necessary.
Here
is a step by step guide to migrating using the recommended Migration approach[1]
1. Perform a fresh install of Microsoft CRM
2011 on a new server(s). You can have one
server that hosts both the web application and the SQL databases or you can
have two servers, one to host the web application and one to host the SQL
databases.
2. Make a backup of your existing CRM 4.0 SQL organization database using SQL Server Management Studio (it will have a name like OrganizationName_MSCRM).
3. Physically copy the backup from step 2 to your new server that will be hosting the SQL Server databases behind your CRM 2011 install.
4. Create a new SQL Server database on your new server hosting the SQL Server databases for CRM 2011 using SQL Server Management Studio.
5. Restore the backup from step 2 over your new
SQL Server database from step 4.
In all cases you will want to
run the legacy feature check tool and address any plugins and JavaScript issues
reported. This is particularly true if the application you are upgrading was
originally developed in CRM 4.0 or earlier. Now the migration process to
Dynamics CRM 2013 from CRM 2011 can be started. The customizations from CRM
2011 are supported by Dynamics CRM 2013, so only the CRM 4.0 plugins need to be
re-written for CRM 2011. The other option is to remove all CRM 4.0 customizations,
migrate it to CRM 2011, and then to Dynamics CRM 2013, after which the
customizations can be implemented in Dynamics CRM 2013.
1. Install a new CRM Application Server using
another instance of SQL (different from the instance used for CRM 2011).
2. Install a new CRM Application Server and
upgrade the CRM 2011 instance in place using the same SQL Server in place.
3. Upgrade the entire application in place
Data Migration Design
As with the application upgrade, there are multiple options for migrating data in an upgrade from CRM 2011 to CRM 2013
1. Back up the CRM 2011 SQL Server database and restore to the CRM 2013 SQL Server database, then import the CRM 2011 Organization using the CRM 2013 Deployment Tool. This will migrate all data without a separate data import.
We strongly recommend Option 1
because Option 2 is very high effort and is error prone. Option 2 gives the most control and might
possibly reduce rework if functional upgrades are being accomplished with the
version upgrade, but the effort and risk generally outweigh any advantage.
The only way to reduce the
risk and schedule impact of the upgrade is to try to anticipate the issues that
will be found in the upgraded application.
This can be accomplished by a combination of manual inspection and
automated code checking.
A manual inspection and analysis of the CRM 2011 application will be performed and will compare the implementation techniques used to the list of changes in CRM 2013. For the automated code checking, there is a tool provided by Microsoft called Microsoft Dynamics CRM 2013 Custom Code Validation Tool which can check JavaScript customizations. It is important to note that both the manual inspection and the automated tool will only produce a list of what might need to be technically replicated in CRM 2013 from CRM 2011. These processes do not address the issue of what is the least effort and best practice to accomplish the same goal functionally in CRM 2013 that was accomplished in CRM 2011.
The Custom Code Validation
Tool in particular tends to produce large numbers of false positives in
situations where code that is actually supported and not a problem is marked as
potentially needing to be fixed. These
can be very extensive and include:
· JavaScript code which supports an HTML web resource and interacts with the DOM of that web resource.
· Code in JavaScript libraries to test for browser compatibility.
It can be highly inefficient
to walk through validation results finding every place that needs attention
only to discover either that there is no problem or that fixing the problem
just replicates approaches that may be obsolete. We suggest instead a multiple iteration
approach which may be both more efficient and more effective. In this approach for the first iteration the
validation is run and then the application is upgraded and tested and test
results are recorded. These results of
testing are then reviewed together with the results of inspection and automated
code validation to produce a Mitigation Plan.
The Mitigation Plan documents areas that need attention and the decision
whether to fix or replace with a more effective use of CRM 2013 features. Based on the Mitigation Plan, one or more
iterations of the upgrade process are performed.
Sample Step-by-Step Plan:
1. Perform the inspection and code
validation on CRM 2011.
2. Install CRM 2013 in a new
environment.
3. Back up the CRM Application
database from CRM 2011. By default this
is _MSCRM.
4. Restore the CRM Application
database from CRM 2011 on to the new SQL Server database supporting CRM 2013.
5. Using the CRM 2013 Deployment
Manager, import the Organization.
6. Perform regression testing on
the upgraded application and record issues discovered.
7. Perform and record any
immediate fixes to make the application usable for testing.
8. Review test results, inspection
results and code validation results and create a Mitigation Plan which defines
what is to be fixed and what is to be replaced.
9. Estimate time needed for the
upgrade and determine feasibility of freezing the application long enough to
complete the upgrade. If feasible,
proceed, otherwise develop an in place mitigation approach for CRM 2011.
10. Freeze the application.
11. Re-do steps 3 and 4 and use
the Mitigation Plan to complete the upgrade
Upgrading CRM
2013 to CRM 2015[2]
CRM 2015 requires the following system products:
·
Windows Server 2012/2012R· SQL Server 2012
· Windows client – Windows 7 and Windows 8
· Internet Explorer 10/11
· Exchange Server 2010/2013
· Outlook 2010/2013
The Server
Upgrade Process is a one-way process (CRM 2015 cannot be uninstalled).
Two Methods to Upgrade:
·
In-place (Install media on
current servers)
·
Migration Upgrade (preferred):
Deploying a new CRM instance and separate database and then migrating your
organizations from one database to the other.
This approach is recommended so that you have the ability to fall back
to the CRM 2013 system if you need to.
Note that CRM
2013 must be at SP1 or higher
One of the
important things about upgrading from 2013 to 2015 is the mandatory change in
the database structures of CRM. Prior
to actually upgrading your organization, Microsoft applies a set of diagnostics
to that organization to determine if it is safe to upgrade the
organization. If it isn’t you will be
told what is wrong and how to correct.
If there is an issue, click on the “More Info” button that will link to
an article explaining the issue and how to correct.
Issues that can
be taken care of for you will be presented as warnings. Warnings inform the user of necessary changes
to the organization in order to upgrade.
When 2013 was
introduced, Microsoft modified the core database structure and collapsed a
series of tables to optimize for efficiency.
To enable existing customers to run their old CRM systems, Microsoft
enabled customers to run in the old database state Microsoft calls the expanded
state. For 2015, the merge process is
mandatory for the upgrade. This enables
a higher performing CRM system.
For customers who upgrade to CRM 2015 who have not upgraded to use CRM 2013 “V6” forms, the older V5 forms (“Information forms”) will be imported into CRM 2015 and will continue to work as they did in CRM 2013. The CRM form designer will retain the ability to migrate forms to V6 forms. As Microsoft adds new capabilities and features to CRM 2015, however, these will be added only to the new forms and not to the old forms.
[1]
This step-by-step guide is taken from here: http://kbase.icbconsulting.com/dynamics-crm/step-by-step-guide-to-migrating-crm-4-0-to-crm-2011