I'm trying to upgrade a 2015 on-prem installation to 2016. I'm using the same admin account to install as when I installed originally, same service accounts specified, etc...
When I get to the "System Checks" page, it checks off Operating System and Server User Input, and then moves onto CRM Database, where it just sits and does not progress. When I look in the logs, I can see it going through the Database check section, and the final lines are:
---------------------13:24:09|Warning| Check SqlDefaultValueConstraintValidator : Warning: The default value constraints in the Microsoft Dynamics CRM database are not consistent with Microsoft Dynamics CRM default value constraints.13:24:09|Verbose| Connecting to database Data Source=DBSVR01\DYNMSCRM;Initial Catalog=CAWST_MSCRM;Integrated Security=SSPI.
And this is where it's just sitting. Server isn't crashed, no non-responding processes....just, nothing's happening. (Note: there are a few other db checks that happen before this, and it gets past those just fine.)
So I tried just upgrading the server without upgrading the org, and that worked fine. Then in the Deployment Manager I try just upgrading the org, and it hangs again. The crmdmsnapin log shows the exact same final lines as above before it just stops proceeding.
This org was created in CRM 2015, so not some old version that's been updated over and over, or anything like that. And we haven't touched the DB directly or done anything out of the ordinary with the organization or its config.
Any ideas as to what I can try next, or where else to look? Out of curiosity, has anyone done this successfully yet?
Hi David, I am very reluctant to attempt to simplify this, as there is potential for irreparable damage if you are not familiar with SQL Server. If you have a DBA or consultant who is proficient in MSSQL, they should be able to follow the above without any issues.
Thanks for getting back to us Edward. We understand your apprehension here. Would you mind looking over this blog post we have created to help others, and commenting if this is achieving what you intended.
Thanks in advance.
That looks about right. For step #8, I probably just hit ok. The generate scripts functions on that dialog didn't do what I was expecting, so I can't comment on that particular action.
Thanks for the comments. We will update the blog... essentially both actions should be doing the same things. Ours is just showing our age.
I cannot believe that MS has released a version with such an obvious failure like this. I thought it was bad enough that the past two releases would not run install applications from their ISO splash screens. At least they have fixed that after 4 years... but this really should have been patched within days of such an embarrassing untested failure.
For anyone reading... we have found some strange behaviour with the permissions on the SQL databases for CRM and the SQL Report Server. Same environment that works in CRM 2015 fails to assign permissions correctly with the Service account in CRM 2016.
Anyway I'm sure there will be a lot more. We were expecting this to be a rebadged point release to CRM 2015. Being that the on Prem never had the 1.0 menu fix that is necessary to give CRM to clients. So we rushed into CRM 2016 expecting it all to work... but now we are back to our normal Microsoft Rules.... "No customers until SP 1 is released on any Microsoft Product". Shame!
Thank you for posting this thread. It helped me solve this timeout issue and upgrading on-prem 2015 to 2016
CRM 2016 Update 1 was released this week and fixed the import organization system check timeout issue for our 2015 to 2016 upgrade (along with quite a few other things, see KB 3133963 link below).
Issues Resolved: support.microsoft.com/.../3133963
Upgrade 2016 first apply 0.1 update, import ORG
Vote please https://connect.microsoft.com/site687/feedback/details/2797477
We found some more problems here. After installing Rollup 1 for CRM 2016 we found that we could not run the update to our database. The issue appears to be related to the indexes. We dropped them again as per this article, and found the update ran. Problem is this.
If Full text indexing is disabled, inline search works ok.
If full text indexing is enabled, then the inline search and related search fails with SQL error.
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=220.127.116.11, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: System.Xml.XmlException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #E7A7EDE9Detail: <OrganizationServiceFault xmlns:i="www.w3.org/.../XMLSchema-instance" xmlns="schemas.microsoft.com/.../Contracts"> <ErrorCode>-2147220970</ErrorCode> <ErrorDetails xmlns:d2p1="schemas.datacontract.org/.../System.Collections.Generic" /> <Message>System.Xml.XmlException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #E7A7EDE9</Message> <Timestamp>2016-07-04T15:54:06.7174036Z</Timestamp> <InnerFault> <ErrorCode>-2147204784</ErrorCode> <ErrorDetails xmlns:d3p1="schemas.datacontract.org/.../System.Collections.Generic" /> <Message>Generic SQL error.</Message> <Timestamp>2016-07-04T15:54:06.7174036Z</Timestamp> <InnerFault i:nil="true" /> <TraceText i:nil="true" /> </InnerFault> <TraceText i:nil="true" /></OrganizationServiceFault>
Anyone got any hints.
We tried turning off full text, and removing the existing index, then rebooking and re-indexing. Same failure.
Thanks for this thread!
We had the same issue with timeout during the System Check stage when trying to upgrade from 2015 to 2016.
We solved this by disable the Full-search for Quick find on CRM2105 before we did the upgrade.
(Now what is left, is to update to 2016 Update 1 so we can turn this back on...)
After quite a bit of messing around, we ended up requesting support from Microsoft on this issue.
The outcome and solution that we utilised was actually quite simple. The details of which can be found here: http://www.interactivewebs.com/blog/index.php/crm/microsoft-crm-global-search-fails-causing-in-line-search-sql-error/
although during the upgrade process we messed around quite a bit with the indexing system, it would appear that all of the problems associated with the global search and in-line search functions failing was all associated with the defragmentation problem of the indexes. I am only a part SQL Server expert, and cannot be exactly sure why the maintenance procedure that is run on the databases that I thought included defragmentation and rebuilding of indexes where necessary would have fixed this problem. But apparently not as the solution described in the above blog post did fix a problem.
Hope this is helpful to somebody else, as it had a stump for quite a while.
Having the same problem, I discovered the following TSQL using the SQL Activity Monitor:
while (@@FETCH_STATUS <> -1)
if (@TableName = 'DocumentIndex')
set @columnCount = @columnCount + 1
if( @FullTextColumnName COLLATE Latin1_General_CI_AI not in ('Title', 'KeyWords', 'SearchText'))
set @modifiedFTIndex = 1
fetch next from @mycursor into @TableOwner, @TableId, @TableName, @FullTextColumnName, @FullTextColID, @FullTextBlobColumnName, @FullTextBlobColumnId, @FullTextLanguage
if (@TableName = 'BusinessDataLocalizedLabelBase')
set @businesDataLocalizedLabelColumnCount = @businesDataLocalizedLabelColumnCount + 1
if( @FullTextColumnName COLLATE Latin1_General_CI_AI not in ('Label'))
set @modifiedBusinessDataTableFTIndex = 1
To get the TSQL statement, I used the following query, where 65 is the session I found using the activity monitor
FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext where req.session_id = 65
For me the statement would never complete, because my CRMFulltextCatalog also contains other columns. It looks like the problem is the “fetch next from @mycursor …” which won’t be called for columns other than 'DocumentIndex' or 'BusinessDataLocalizedLabelBase'. So this is where the endless loop is coming from.
Therefore I removed all other columns from my CRMFulltextCatalog except 'DocumentIndex' and 'BusinessDataLocalizedLabelBase'.
Finally the system checks went through and I was able to perform the upgrade!
Thank you everyone in this thread for pointing me in the right direction. Not sure if this will help anyone else, but I wrote a little script to regenerate the CRMFullTextCatalog. I ran this script before upgrading, then manually removed all tables/views from the Catalog. After the upgrade was complete, I ran the output generated by this script, which re-populates all the tables/view back into the CRMFullTextCatalog, putting it into the pre-upgrade state (keep in mind that the index must rebuild after running the script). I make no guarantees this will work in your environment, but it appears to have worked properly for our test migration.
declare @catid int
select @catid=fulltext_catalog_id from sys.fulltext_catalogs where name='CRMFullTextCatalog'
declare c cursor for
select sys.tables.name, sys.fulltext_indexes.unique_index_id from sys.fulltext_indexes inner join sys.tables on sys.fulltext_indexes.object_id = sys.tables.object_id where sys.fulltext_indexes.fulltext_catalog_id=@catid
declare @TableName varchar(200), @UniqueID as integer
fetch next from c into @TableName, @UniqueID
while @@fetch_status = 0
declare d cursor for
select sys.indexes.name, sys.tables.object_id from sys.tables inner join sys.indexes on sys.tables.object_id = sys.indexes.object_id where sys.tables.name=@TableName and sys.indexes.index_id = @UniqueID
declare @KeyIndex varchar(200), @object_id as integer
fetch next from d into @KeyIndex, @object_id
if @@FETCH_STATUS <> 0
Print 'Error with' + @TableName
Print 'CREATE FULLTEXT INDEX ON [dbo].'+@TableName+' KEY INDEX ['+@KeyIndex+'] on([CRMFullTextCatalog]) WITH (CHANGE_TRACKING AUTO)'
declare e cursor for
select sys.columns.name from sys.columns inner join sys.fulltext_index_columns on sys.columns.object_id=sys.fulltext_index_columns.object_id and sys.columns.column_id=sys.fulltext_index_columns.column_id where sys.columns.object_id=@object_id
declare @ColumnName varchar(200)
fetch next from e into @ColumnName
Print 'ALTER FULLTEXT INDEX ON [dbo].'+@TableName+' Add ('+@ColumnName+')'
print 'Error' + @KeyIndex
Thanks for all the effort.
I basically got everything working now. I removed all columns prior to upgrade, upgraded. Then, the full text search was broken. I just disabled it, rebooted, and enabled it again in the general system settings.
It also took some time (hours), reboots, and second trigger of a aborted full text indexing job, but all is working now.
Thank you for the effort as well. We got stuck in system chceck phase of installation, where checks of Microsoft dynamics CRM database took hours (after we modified timeouts in registry).
However, after removing tables from Fulltext catalogue, upgrade was no problem.