I've been trying to re-deploy a CRM 4.0 installation from a client's site into our development domain so that I can work with some of the data in the system. Using the provided CRM 4.0 Deployment Manager is pretty easy (instructions found here), but wasn't working.
The deployment manager would run for a good 30+ minutes and eventually come back to me with a SQL Server Timeout error. The details of this error follow:
Import Organization (Name={Name}, Id={ID} failed.
The changes made during Import Organization could not be rolled back. Please manually delete the Organization database from the 'SBCRM01' SQL Server if it was not successfully deleted.
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
…
at Microsoft.Crm.Tools.Admin.ImportOrganizationInstaller.Import(Guid organizationId, String organizationUniqueName, String organizationFriendlyName, String sqlServerName, String databaseName, Uri reportServerUrl, String privilegedUserGroupName, String sqlAccessGroupName, String userGroupName, String reportingGroupName, String privilegedReportingGroupName, ICollection`1 users, MultipleTenancy multipleTenancy)
I Googled, hooked up SQL Server Profiler and searched Microsoft’s knowledge base – desperate for some sort of answer to this problem. I finally found a forum post online that described a similar scenario being resolved by installing Microsoft Dynamics CRM 4.0 Update Rollup 1.
It wasn’t until I looked at the deployment log file that I realized that the timeout expired error was really just a symptom of another problem. Turns out that below the Timeout exception I found another exception message that describes what’s really going on.
Import Organization (Name={Name}, Id={ID}) failed with Exception:
Microsoft.Crm.CrmException: Unable to find metadata information for attribute {attribute_name}
at Microsoft.Crm.Workflow.ObjectModel.MetadataProvider.GetAttributeMetadata(EntityMetadata entityMetadata, String attributeName)
…
at Microsoft.Crm.Tools.Admin.ImportOrganizationInstaller.Import(Guid organizationId, String organizationUniqueName, String organizationFriendlyName, String sqlServerName, String databaseName, Uri reportServerUrl, String privilegedUserGroupName, String sqlAccessGroupName, String userGroupName, String reportingGroupName, String privilegedReportingGroupName, ICollection`1 users, MultipleTenancy multipleTenancy)
What the heck is this? Turns out, the issue is caused by having workflow in CRM that references an attribute that is subsequently deleted. Per Joel CustomerEffective (forum post), here’s some things you can do to resolve the issue:
1. Recreate the missing attribute (you can delete after import).
2. Delete any rows that reference that attribute from the workflowdependencybase table
3. Import the organization into an environment that is pre-rollup 1
4. Wait for KB958571 to be released--they are testing it now. If you search for it, you will find the KB article for it, but the hotfix has been redacted pending further testing.
Of course, KB958571 talks about a hotfix that isn’t publically available. Sad – really sad, but have no fear! After wasting 6 hours today working on this problem, I’m still waiting on getting an answer from Microsoft about the availability of the patch. I’ve attempted solution #2 (removing the dependencies from the source database before performing the import) without success. Options #1 and #3 aren’t available to me at the moment. If you know of a better solution, please post a comment to this blog!
Currently rated 3.0 by 2 people
- Currently 3/5 Stars.
- 1
- 2
- 3
- 4
- 5