locked
Redeployment of CRM40 organization failed during 'import organization' process RRS feed

  • 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 works

    Questions: 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 users

    What 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


    Friday, March 30, 2012 8:58 PM
    Moderator

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


    Friday, March 30, 2012 8:58 PM
    Moderator
  • Hi vip33,

    Add the following registry key to the CRM MSCRM folder:

    type: string
    Name: PreferredDC

    And 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 PM
    Answerer