User Mapping Error Upgrading from CRM 4.0 to CRM 2011
I ran into a problem when doing an upgrade to Microsoft Dynamics CRM 2011from CRM4.0. It took several hours to discover how to get past the error and I would like to save you the trouble if you run into a similar issue. To start, this is a company with a 5-User license and 10 users in the office, including 2 outside consultants as administrators. As a result, it is typical for this company to enable and disable users as needed. It is imperative at this point to make sure that the administrator account that you are logged into, that will be doing the import, is an active User. This was a Single Server environment, so the CRM 2011 program was going to replace the CRM 4.0 program. This is not the best scenario but, as Consultants, we will see this as a fairly common occurrence among our clientele.
I backed up the database and uninstalled CRM 4.0. I then installed CRM 2011 to the Server. Everything looked good. I was able to open Microsoft Dynamics CRM 2011 against the new company I created. Now all I had to do was go into the Deployment Manager and import the 4.0 Organization.
The problem occurs when you try to map Users from the old database to the new database. The error I got was:
You must map your Active Directory user account to at least one enabled Microsoft Dynamics CRM user who has the System Administrator role before the organization can be imported.
Well, now I was in a pickle because I had already uninstalled CRM 4.0. I could not just to go into CRM 4.0, access Settings/Usersand take off the restriction. Eventually, I did uninstall Microsoft Dynamics CRM 2011 and reinstall 4.0 but for some reason Deployment Manager would not let me point to my database, so now what?
Here is where I discovered a workaround and, had I known about it ahead of time, I would have resolved the issue in minutes! The secret is understanding the systemuserbase table. There are 2 fields that we will possibly be updating. The first is accessmode. It looks like this on a User Record:
We will want all Users to have their Access Mode set to Full, not Administrativeor Read-Only. You might think that Administrative is more powerful than Full since you are the Administrator. But you have to think of Access Mode in terms of an Administrative Staff and not an Administrator. In the systemuserbase table the field is accessmode and a value of 0 is Full.
In SQL the table looks like this:
Simply run this query to update all Users to Full
Set accessmode = 0
Where accessmode <> 0
Finished – right? Wrong! When I reinstalled Microsoft Dynamics CRM 2011 and went to the Deployment Manager I was still getting the same error! Now what? It was hard to tell because of how narrow the columns were, but the User I was logged in as was actually a disableduser in CRM 4.0. This is why I said at the beginning of this article that it is imperative to make sure that your Admin login is not disabled in CRM.
The field in systemuserbase that controls enabling and disabling Users is the isdisabled field. A value of 0 means the User is enabled and a value of 1 means the User is disabled. This was a bit tricky because I needed to first disable an enabled User so I would not exceed the maximum number of Users during Deployment.
Here is the SQL query to accomplish this:
Set isdisabled = 1
Where lastname = ‘SomeUserLastName’
I then set my Administrator User to Enabled in the Database and I was back on track. Here is the query:
Set isdisabled = 0
Where lastname = ‘MyUserLastName’
When I went back into Deployment Manager and pointed to the CRM 4.0 database, I now easily passed through the screens for mapping Users and was able to complete the upgrade. I hope you find this article useful, maybe it will save you some time and you can leave work early. Right!