Answered by:
Redeployment of CRM40 organization failed during 'import organization' process

Question
-
Action: redeployment of a CRM40 organization with auto-mapping (deployment manager, import organization)
Environment (new): Windows 2008 standard R2 server with CRM and SQL, seperate DC
Error: "An error occurred when populating Microsoft CRM user groups. Ensure that CRM user accounts are accessible from the current domain and run the wizard again. System.Runtime.InteropServices.COMException (0x8007203A): The server is not operational."
Solution (workaround): redeployed the CRM organization by manually mapping the admin user only, mapped the other users after import (manually)
Background (new servers, domain change, new exchange):
- 2 new servers were prepared by an IT supplier at their office
- new installation of CRM40 (by me), all works fine
- succesfully redeployed (a copy of) the production CRM organization multiple times, all works fine
- at go live day --> servers are moved to the serverroom of the customer (by IT supplier)
- workstations are now connected to the new domain
- redeployed the production database (with the latest data), import CRM organization with auto-mapping users, failed (at user X)
- imported the organization again, failed (at user Y)
- and again... failed (at user Z) (log file below)
- import organization with manual mapping admin user only - import worksQuestions: does this in any way relate to the CRM configuration? considering that:
- it worked fine before the new servers were moved and put in production
- the import failed at different usersWhat could be the (most likely) cause?
Log file (created by the deployment manager - I renamed the organization and user names, a trace listed the same error)...
17:50:13| Info| Check OrgUniqueNameValidator: Success
17:50:13| Info| Check OrgFriendlyNameValidator: Success
17:50:13| Info| Check ImportCurrentUserMappingValidator: Success
17:50:13| Info| Check ImportUserMappingValidator: Success
17:50:13|Verbose| BaseGroup.Validate completed
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| After context key substitutions RunModes
17:50:13|Verbose| After env var substitutions RunModes
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| After context key substitutions DMSnapIn.Organization.Import
17:50:13|Verbose| After env var substitutions DMSnapIn.Organization.Import
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate Microsoft SQL Server™
17:50:13|Verbose| Calling BaseGroup.Validate
17:50:13| Info| Check SqlServerAgentValidator: Success
17:50:13| Info| Check SqlInstanceNameValidator: Success
17:50:13| Info| Check CrmSqlDomainValidator: Success
17:50:13| Info| Check SqlServerValidator: Success
17:50:13| Info| Check SysAdminValidator: Success
17:50:13| Info| Check WordBreakerValidator: Success
17:50:13| Info| Check FullTextInstalledValidator: Success
17:50:13| Info| Check FullTextRunningValidator: Success
17:50:13| Info| Check OrganizationDatabaseExistsValidator: Success
17:50:13| Info| Check OrganizationDatabaseNotDeployedValidator: Success
17:50:13|Verbose| Retrieving database version Provider=SQLOLEDB;Data Source=SYN02;Initial Catalog=DEMO_MSCRM;Integrated Security=SSPI ...
17:50:13| Info| Database version: 4.0.7333.3732.
17:50:13| Info| Check OrganizationDatabaseVersionValidator: Success
17:50:13|Verbose| BaseGroup.Validate completed
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| After context key substitutions RunModes
17:50:13|Verbose| After env var substitutions RunModes
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| After context key substitutions DMSnapIn.Organization.Create;DMSnapIn.Organization.Import;DMSnapIn.Organization.Update
17:50:13|Verbose| After env var substitutions DMSnapIn.Organization.Create;DMSnapIn.Organization.Import;DMSnapIn.Organization.Update
17:50:13|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.SNGBuilder.ProcessSubstitutions
17:50:13|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate Microsoft SQL Server Reporting Services
17:50:13|Verbose| Calling BaseGroup.Validate
17:50:13| Info| Check ReportingUrlValidator: Success
17:50:15| Info| Check ExistingRSValidator: Success
17:50:15|Verbose| BaseGroup.Validate completed
17:50:15|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunSnifferValidate
17:50:15|Verbose| Validation ran.
17:50:15|Verbose| Validation completed.
17:50:15|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.Run
17:50:15|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunAll
17:50:15|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.EDWToolCallbacks.Clear
17:50:15|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWToolCallbacks.Clear
17:50:19| Info| Import Organization (DEMO)
17:50:19| Info| Update Organization...
17:50:58| Info| Update Users...
<<cropped, populated ~30 users>>
17:54:41|Verbose| Update Active Directory properties for entry {0}| LDAP://server01.demo.local/<GUID=4be33c6f-790a-4f3e-9f0f-aca7c65c7128>
17:54:41|Verbose| Populate with user
17:54:41|Verbose| Updating membership
17:54:41|Verbose| Old account {0}| demo\User1
17:54:41|Verbose| Adding new account {0}| demo\User1
17:54:41|Verbose| Found dn {0}| CN=User1,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=demo,DC=local
17:54:41|Verbose| Update completed
17:54:41|Verbose| User added successfully to the OU groups in Active Directory
17:54:41|Verbose| Update Active Directory properties for entry {0}| LDAP://server01.demo.local/<GUID=a41e2444-97c6-4932-af00-68c772715481>
17:54:41|Verbose| Populate with user
17:54:41|Verbose| Updating membership
17:54:41|Verbose| Old account {0}| demo\User2
17:54:41|Verbose| Adding new account {0}| demo\User2
17:54:41|Verbose| Found dn {0}| CN=User2,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=demo,DC=local
17:54:41|Verbose| Update completed
17:54:41|Verbose| Update Active Directory properties for entry {0}| LDAP://server01.demo.local/<GUID=4be33c6f-790a-4f3e-9f0f-aca7c65c7128>
17:54:41|Verbose| Populate with user
17:54:41|Verbose| Updating membership
17:55:02| Error| An error occurred when populating Microsoft CRM user groups. Ensure that CRM user accounts are accessible from the current domain and run the wizard again.System.Runtime.InteropServices.COMException (0x8007203A): The server is not operational.at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.Crm.Tools.Admin.DBImportHelper.AddExistingUserToOUGroup(User user, String adOUGroupName)
at Microsoft.Crm.Tools.Admin.DBImportHelper.AddExistingUserToOUGroups(User user, String userGroupName, String reportingGroupName)
17:55:22| Error| Import Organization (Name=demo, Id=184db60c-807a-e111-8a8b-b8ac6f8587c6) failed with Exception:
System.InvalidOperationException: ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
at System.Data.SqlClient.SqlConnection.GetOpenConnection(String method)
at System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command)
at Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate)
at Microsoft.Crm.CrmDbConnection.SetTransactionIsolationLevel(IsolationLevel il)
at Microsoft.Crm.CrmDbConnection.Dispose(Boolean disposing)
at Microsoft.Crm.SqlExecutionContext.Dispose(Boolean disposing)
at Microsoft.Crm.SqlExecutionContext.Dispose()
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)
17:55:22|Warning| Attempting to cancel a long running process: ProgressWizard. This might leave the data in an invalid state and the application might not function correctly.
17:55:53| Error| Import Organization (Name=demo, Id=184db60c-807a-e111-8a8b-b8ac6f8587c6) failed.
The changes made during Import Organization could not be rolled back. Please manually delete the Organization database from the 'server02' 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 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Microsoft.Crm.CrmDbConnection.InternalExecuteReader(IDbCommand command)
at Microsoft.Crm.CrmDbConnection.ExecuteReader(IDbCommand command, Boolean impersonate)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.ExecuteQuery(CrmDbConnection dbConnection, IDbCommand command, ISqlExecutionContext context)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoRetrieveMultiple(BusinessEntityCollection entities, EntityExpression entityExp, ExecutionContext context)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)
at Microsoft.Crm.Setup.Server.Utility.NewOrgUtility.RemoveExistingUsersFromConfigDatabase(Guid organizationId)
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)
- Edited by vip33 Friday, March 30, 2012 8:37 PM
Friday, March 30, 2012 8:24 PM
Answers
-
It looks like the underlying cause is in the error line below, which indicates that there was an error accessing a domain controller (the 'server' in the error message will be a domain controller).
So, I reckon you had an intermittent AD or network problem, and it's nothing to do with the CRM configuration
17:55:02| Error| An error occurred when populating Microsoft CRM user groups. Ensure that CRM user accounts are accessible from the current domain and run the wizard again.System.Runtime.InteropServices.COMException (0x8007203A): The server is not operational.
Microsoft CRM MVP - http://mscrmuk.blogspot.com http://www.excitation.co.uk
- Edited by DavidJennawayMVP, Moderator Friday, March 30, 2012 8:58 PM
- Marked as answer by vip33 Saturday, March 31, 2012 4:56 PM
Friday, March 30, 2012 8:58 PMModerator
All replies
-
It looks like the underlying cause is in the error line below, which indicates that there was an error accessing a domain controller (the 'server' in the error message will be a domain controller).
So, I reckon you had an intermittent AD or network problem, and it's nothing to do with the CRM configuration
17:55:02| Error| An error occurred when populating Microsoft CRM user groups. Ensure that CRM user accounts are accessible from the current domain and run the wizard again.System.Runtime.InteropServices.COMException (0x8007203A): The server is not operational.
Microsoft CRM MVP - http://mscrmuk.blogspot.com http://www.excitation.co.uk
- Edited by DavidJennawayMVP, Moderator Friday, March 30, 2012 8:58 PM
- Marked as answer by vip33 Saturday, March 31, 2012 4:56 PM
Friday, March 30, 2012 8:58 PMModerator -
Hi vip33,
Add the following registry key to the CRM MSCRM folder:
type: string
Name: PreferredDCAnd type the Domain Controller you know it is working and re-import.
Visit my blog for CRM material, improving performance, kerberos, IFD, development tips, etc. :) http://quantusdynamics.blogspot.com
Friday, March 30, 2012 9:30 PMAnswerer