Thursday 11 December 2014

SharePoint 2013 Upgrade Check List

Hi all,

Today, I’ve put all together my SharePoint 2013 upgrade experience.

As I have lot of Farms to admin, in different environments (Prod, pre-Prod, Test), I was faced to several issues.
So, in the ease for everyone, I’ve tried to figure out all the issues I had to solve.

This post is divided in 2 Sections:
1.       Pre-Upgrade CheckList: this is mandatory prior every upgrade
2.       Installation Process: binaries, and how I proceed the upgrade
3.       Trouble shooting: if something is wrong, the solution should/must be in this section


1.       SharePoint 2013 pre-Upgrade CheckList:
- Farm & Install accounts must be DB Owner on all system & content DBs
- Farm & Install accounts must have Security Admin  on all system & content DBs
- If there is mirroring, it must be stopped
- If there is Availability Groups, all DBs must be removed from the A.G
     *Update1: the USAGE database must not be part of an A.G nor mirroring
        This DB name is found in the "Manage servers in this farm" section in Central Admin
        The usage database name is like: <db_name>-USAGE
     *Update2: the "SPPLA-AppManagement" DB must also be removed from the A.G or mirroring
     
- Copy all needed binaries that must be applied (CU, PU, SP)


2.       Installation Process:
- Logon each server with your Install account
- Launch the binaries installation (exe file). This step can take up to 2,5 hours.
- Reboot all servers
- Check in Central Administration GUI that all servers status are: Upgrade required
- Launch, on each servers the Configuration Wizard, but one step at a time.
   --> launch Configuration Wizard, click "yes"
   --> do the same for each servers of the Farm
- Click "Next" on your Central Admin Server (always start by the Central Admin server).
- When upgrade is finish, DO NOT click to exit.
  Select the next server, and click "Next" in the Configuration Wizard.
  Do the same process to all your server until the last one.
- When all servers are upgraded, close the Configuration Wizard (Next or Finish) and check the server status in the Central Administration GUI:
  "No Action Required"


3.       Trouble Shooting:

What to do if the upgrade fails?
1- Check event viewer for any Farm or Install account access denied in SQL
2- Check ULS
3- Execute the installation via the PSCONFIG cmdlet.

/!\ ..... UPDATE .....  /!\

               PSConfig.exe -cmd upgrade -inplace b2b -wait -force

According to Stefan Goßner, in SharePoint 2013, it is the best paractice to use the PSCONFIGUI.exe instead of PSCONFIG.exe
The reason is because the GUI version is doing more complete upgrade.

For any reason, if you need to use the PSCONFIG.exe, then use this cmdlet:
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources

/!\ ..... UPDATE .....  /!\


What to do if the Configuration Wizard is showing "Missing on <servername>"?
In the configuration Wizard, if there is some installed patches shown as "Missing on <servername>" (and they are already installed), you can use this PowerShell command :
Get-SPProduct -local
Then, press "Refresh" in the Configuration Wizard".
When the servers are no more in the list, you continue the patching process.

What to do if in the error logs (i.e : Upgrade-20141027-143441-40-error) you have this type of message?
Upgrade SPUpgradeSiteSession           ajxnj        ERROR
                at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
                at System.Net.HttpWebRequest.GetRequestStream()
                at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()

                ==> check that all Application Pools are up and running in IIS on all servers

What to do if you have Site Collection upgrade issue?
If you have this type of line in the error log:
ERROR   Pre-Upgrade [SPSite Url=<Your Site Collection URL/...] failed. Microsoft.SharePoint.Upgrade.SPSiteWssSequence has the ContinueOnFailiure bit set.
                ==> upgrade manually yours sites:
                Get-SPSite -Limit all | Where-Object {$_.NeedsUpgrade} | Upgrade-SPSite -VersionUpgrade -Unthrottled


*Update:
If you have this error with the previous cmdlet:

PS C:\Windows\system32> Get-SPSite -Limit all | Where-Object {$_.NeedsUpgrade} | Upgrade-SPSite -VersionUpgrade -Unthrottled
Get-SPSite : There was no endpoint listening at http://localhost:32843/SecurityTokenServiceApplication/securitytoken.s
vc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if 
present, for more details.
At line:1 char:1
+ Get-SPSite -Limit all | Where-Object {$_.NeedsUpgrade} | Upgrade-SPSite -Version ...
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Share...SPCmdletGetSite:SPCmdletGetSite) [Get-SPSite], Endpoint 
   NotFoundException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletGetSite

Check that those Services are running:
  - SPAdminV4
  - SPTimerV4
  - W3SVC

Reason:
 This is due to a faulty PSCONFIG.exe cmdlet.
 If the upgrade is not successfull, then the services are not started back.



That’s all folks