This blog explains about the some of the errors occurred using Express Migration Tool (EMT) and how to fix them.
The environment considered is migration from Sitecore Version 7.2 update 1 to Version 8.2 update 1 , it is assumed that developer has the basic knowledge of EMT.
Important Points To Follow Before Running EMT:
- Please take the backup of databases (master,core,web,analytics etc) from SQL Server and files before using EMT.
If you don’t know how to take backup of SQL Server database backup , please refer to following link by Greg.
- Steps on how to install/configure EMT can be found on below URL :
https://dev.sitecore.net/Downloads/Express_Migration_Tool/31/Express_Migration_Tool_31.aspx , navigate to Documentation and open the file Express Migration Tool Guide.
- System items should be migrated manually to avoid further complications.
- The Sitecore version which has to be migrated is referred as “Source Instance” and the version to which migration is done is referred as “Target Instance“.
Problem & Solutions:
- If your Source Instance’s Analytics database is not present on local SQL Server.
Sol: Download DMS from Sitecore Development Network (SDN)
- Getting DLL version errors
Sol: Change the dll versions of System.web.MVC as per the target instance , it should be same as per the web.config of your project solution.
- Getting Error related to Sitecore Role “Ribbon.aspx internal server error”
Sol: This error will occur when there is a custom “Role” or “Domain” used.
Navigate to the \Sitecore\Website\App_Config\Security\GlobalRoles.config and Domains.config and add the entries accordingly.
- Getting mismatch warning from assemblies on building the projects.
Sol: Remove/change the unwanted namespace as with every Sitecore Version the name space may differ.
- Sitecore.Configuration.Settings.Analytics is giving compilation error.
Sol: This occures as Source Instance’s Sitecore dll methods are obsolete/removed in Target Instance’s Sitecore dll . For this you need to use the decompilers like Dotpeek or ILSpy and see the actual code these missing methods were using in Source Instance Sitecore dlls. For this Create a custom helper project and replicate the functionality of that obsolete dll functions.
e.g. Obselete Method : Tracker.CurrentPage.Register(eventData) ,
new custom method to be used : Tracker.Current.CurrentPage.Register(eventData)
- Sitecore.Metatags dll giving runtime error.
Sol: Just copy this dll from Source Instance’s webroot bin to Target Instance’s webroot bin.
- Sitecore dlls have old version
Sol: Install Sitecore.Kernel , Sitecore.Client, Sitecore.MVC etc. dlls as per the corresponding Sitecore Version from Nuget , make sure that you select Noreference dlls as shown in following figure.
- Getting Page Event Data run time error
Sol: Add Sitecore.Analytics.Core.NoReferences and Sitecore.Analytics.Model.NoReferences dlls from Nuget Package Manager. Select the required version of dlls in this case Version 8.1 rev 151207 . The browse Section will show the latest version but make sure to select the correct required version.
- Installing Analytics Database giving following error :
An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo) ——————- Unable to open the physical file
“E:\Softwares\Sitecore 7.2 rev 140228\DMS 7.2 rev. 140228\Sitecore.analytics.MDF”.
Operating system error 5: ” 5(Access is denied.)”. (Microsoft SQL Server, Error: 5120)
Sol: Run Sql Server Management Studio as admin and give full permissions to .mdf and .ldf files for user account.
- How to verify analytics is working properly ?
Sol : Check whether the Data is getting populated in Visits table on button click.
Note : Please make Analytics.Enabled = true in Sitecore.Analytics.config & Xdb.Enabled.config in Sitecore.Xdb.config