psconfig v2v or b2b?
Yesterday I posted about a quick hack to reset the farm passphrase. Part of this was using the psconfig cli to perform an in-place upgrade of SharePoint.
Part of this was the command:
psconfig.exe -cmd upgrade -inplace v2v -passphrase "passphrase" -wait
At the time, all seemed to Ok… but today have noticed that the Manage Database Upgrade Status in Central Admin was showing that some databases had been left behind - “Database is in compatibility range and should be upgraded”. And the output from
stsadm -o localupgradestatus
(yes, this is SharePoint 2010) was showing that there were some objects that ‘could not be upgraded.'
Furthermore, I was experiencing a new issue: “There was en error encrypting or decrypting credentials” - in this case specific to SearchServiceApplication.
This got me to wondering - why hadn’t the upgrade upgraded everything? It turns out the -inplace switch is actually rather important. And unsurprisingly, the documentation is hardly complete:
If specified, the SharePoint Products Configuration Wizard will perform an in-place upgrade. If v2v is specified, an in-place version to version upgrade is performed. If b2b is specified, an in-place build to build upgrade is performed.
Great. And that means what, exactly? Fortunately, I’m not the first to wonder this and Benjamin Athawes has a [nice explanation](http://Benjamin Athawes):
- A v2v upgrade is used for upgrading from one product version to another (e.g. MOSS 2007 to SharePoint Server 2010).
- A b2b upgrade is used for upgrading from one build to another within the same product version (e.g. SP2010 RTM to SP2010 SP1).
Much clearer!
So by running the command again, but with the b2b switch instead, all objects are now upgraded. And the good news, is that this appears to have resolved my ‘credential decryption’ issue.