Wednesday, August 10, 2011

SharePoint 2010 Upgrade Standard License To Enterprise License Failure

Background

The client I am working on initially purchased a Standard SharePoint license.  After using the product for about 6 months my client decided to upgrade to the Enterprise license.  The approach to upgrade to the Enterprise edition was the following.
1.       Perform upgrade on the Development environment.  Perform smoke screen tests of the existing content and functionality.  Perform testing of some of the new enterprise functionality.
2.       Perform upgrade on the Staging environment.  Perform smoke screen tests of the existing content and functionality.  Perform testing of some of the new enterprise functionality.
3.       Perform upgrade on the Production environment.  Perform smoke screen tests of the existing content and functionality.  Perform testing of some of the new enterprise functionality.
The upgrade went smoothly in the Development environment but the upgrade did not work in the Staging environment.  The difference between the environments is the Development environment is a single server connecting to a Database server.  The Staging environment consists of 2 Web Front End servers, an Application server, and a Database server.  Below is a description of the error that I was seeing in the log files and the event logs.
Failed to register SharePoint services.
An exception of type Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException was thrown.  Additional exception information: An update conflict has occurred, and you must re-try this action. The object SearchAdminWebService was updated by ***********, in the PSCONFIG (4788) process, on machine *******************.  View the tracing log for more information about the conflict.
Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SearchAdminWebService was updated by **********, in the PSCONFIG (4788) process, on machine *******************.  View the tracing log for more information about the conflict.
   at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
   at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.PutObject(SPPersistedObject persistedObject, Boolean ensure)
   at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdate()
   at Microsoft.SharePoint.Administration.SPIisWebService.Update()
   at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServiceInConfigDB(Boolean provisionTheServiceToo, String serviceRegistryKeyName)
   at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServices(Boolean provisionTheServicesToo)
   at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
I posted a thread on the technet forums at http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/08756dcf-7735-426a-81df-42ae0202c509.  The response I received was to clear the config cache as mentioned in http://support.microsoft.com/kb/944267.  Although I tried this I still was not able to get the upgrade to work and the same error was being given.

Solution Approach

Given the Development environment was a single server connecting to a Database server.  I decided that it may be worth making the Staging environment similar to that of the Development environment.  My approach was to try the following.
1.       Disconnect the 2 Web Front End servers from the Staging Farm leaving Application server as the only server on the Staging farm
2.       Clear the configuration cache on the Application server
3.       Perform the Enterprise upgrade on the farm by using the Central Administration site
4.       If the upgrade is successful then uninstall SharePoint from the 2 Web Front End servers
5.       Reboot the 2 Web Front End servers
6.       Install SharePoint on the 2 Web Front End servers using the Enterprise license key
7.       Install all of the cumulative updates on the 2 Web Front End servers
8.       Connect both Web Front End servers to the farm
9.       Perform smoke screen tests
10.   Test existing content
11.   Test existing functionality
12.   Test enterprise functionality
The upgrade was successful.  The only downside to this approach is the outage that was taken to disconnect the Web Front End servers from the farm.  The time it took to perform steps 1-8 was about 2 hours.

3 comments:

  1. Hi Maui,

    I have been doing some testing on this, and what I found out was that the main issue is that the PSCONFIG command will conflict between the servers (kind of stepping on the toes of each other), so I have created a solution which will delay the execution of the PSCONFIG on the different servers, and thereby allow for each to finish it's PSCONFIG execution before it is running on the other servers, thereby eliminating the timing issue.

    I have put a small post with the workaround at:

    http://www.jacobsens.dk/post/2012/07/05/Upgrading-SharePoint-20072010-License-from-Standard-to-Enterprise-in-a-multi-server-setup.aspx

    ReplyDelete
  2. I did not get any errors but all my job timers stopped working

    ReplyDelete
  3. Web Applications: Initializing
    Site Collections: Initializing
    Sites: Initializing

    It's been there for weeks. I can't fix it or go back. Sharepoint should either fail the upgrade or give you a valid explanation.

    ReplyDelete