Important: PSCONFIG is mandatory for July 2015 CU for SharePoint 2013

An important information was published with one of the individual July 2015 KB articles for SP2013 (KB 3054926) - and therefore potentially very good hidden: July 2015 CU for SharePoint 2013 changes the database schema for the analytics reporting database. The change was required to support URLs with up to 4000 characters length.

The caveat with this is that the crawler now expects the database schema to be updated and will fail to crawl if SharePoint Configuration Wizard did not run to update the database schema.

With other words: unlike other CUs it is mandatory to run the SharePoint Configuration Wizard right after installing the July 2015 CU binaries to ensure that crawl works correct.

If you are using PSCONFIG.EXE it is recommended to use the following commands:

whenever I use CSOM to get user profile it throws exception " 400 Bad Request " and when i looked at ULS logs this is what i see "Original error: System.MissingMethodException: Method not found: 'System.String Microsoft.Office.Server.UserProfiles.UserProfile.get_FollowPersonalSiteUrl()'.

please compare the version of the Microsoft.Office.Server.UserProfiles.ServerStub.dll in the c:inetpubwwwrootwss\_app_bin directory with the one in C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions15CONFIGBIN directory.
It might be that the dll did not get updated when running PSCONFIG.
If that is the case, please backup the version in the _app_bin directory and copy the version from 15CONFIGBIN to the _app_bin directory to fix the issue.

Hi Vishwas,
yes. You have to do this if you are on an older CU than July 2015 CU and would like to go to a CU equal or higher than July 2015 CU. Does not matter which. The code changes in July 2015 CU (which are obviously included in all future CUs as well) are incompatible
with the DB schema from before July 2015 CU.
Cheers,
Stefan

Are there any checks we can run that will tell us whether a farm is victim to this? We inherited farms that were supposedly built initially with July 2015 cu, though unclear whether it was slipstreamed, or built with sp1 then patched. Some anomalies remain…

Hi Stefan,
maybe you have some hints. On one of our servers, the command fails, but running Config Wizard UI finishes without issues. Can we then ignore the powershell command? Or could this lead to further issues with later updates?
Additionally, thanks for your fast help in another post 🙂

Hi Stefan,
It just fails in the last step and the error log is listing many of these entries:

– Feature upgrade action 'AddContentTypeField' threw an exception upgrading Feature 'CTypes' (Id: 15/'695b6570-a48b-4a8e-8ea5-26ea7fc1d162') in Site 'http://szportal&#39;: The object has been updated by another user since it was last fetched.

– Feature upgrade incomplete for Feature 'CTypes' (Id: 15/'695b6570-a48b-4a8e-8ea5-26ea7fc1d162') in Site 'http://szportal&#39;. Exception: The object has been updated by another user since it was last fetched.

Followed by endless lines of this kind: Es existiert keine Website mit dem Namen "/china/HumanResources/EmployeeRecords/Former/lliug". The object has been updated by another user since it was last fetched.

I know these webs don't exist anymore. We also tried to clean them up with all ways we could find, to get rid off orphaned items.

Hi Jessica,
support is correct. Everything should be fine in regards to the fix. But you still have the orphan sites.
My recommendation was to open a case to get the orphans cleaned up. These can make trouble in other scenarios as well.
Cheers,
Stefan

@Jessica – I have come across similar problems in the past. I have tried a couple things with some success so maybe they may work for you.

1. Detach/reattach the content DB (first unmount it). You've likely tried this.
2. Repair the content DB via PowerShell. You've likely tried this as well.
3. If this persists after a reboot, additional caching may be the culprit. Objects are not always properly disposed of or remain in memory far too long. How I've forced this was to reset the config cache on all of the servers. It's not something you should
rush to do, but it has been handy a few times when the servers and/or databases seem out of sync. If you follow the procedure closely, it is safe to do in off-hours.

Hi Stefan,
can you please update this article with the further switches of PSConfig or directly reference to the ‘http://blogs.technet.com/b/stefan_gossner/archive/2015/08/20/why-i-prefer-psconfigui-exe-over-psconfig-exe.aspx’:
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources
(there are so many references around the web to this article….)
Thanks Peter.

we went from the May 2015 to the November 2015. We did not catch that we had to run the command this way. we ran it like this:
Psconfig.exe -cmd upgrade -inplace b2b -wait -force
after the CU, our search was not working and we found this post. We have since run the command from this post and our search is working. However, we are seeing these errors in the application event logs:

1. The Execute method of job definition Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition (ID d2332e81-03a5-40f6-a89b-b9bf9b7341ac) threw an exception. More information is included below.

Failed to run flow Microsoft.CustomDictionaryDeployment.

2. The Execute method of job definition Microsoft.Office.Server.Search.Administration.QueryClassificationDictionaryUpdateTimerJobDefinition (ID a08f1d7c-9a9f-4592-bf7d-1fb4389ff1eb) threw an exception. More information is included below.

Do you know if the September CU will install directly from SP 1 upgrade. Also does it include the ability to redirect Mysites to Delve?

We have tried pointing the Mysite URl to our domain-my in Office 365 but as it tries to resolve to usernames it errors. Will the September CU allow more conifg and send all profiles to Delve from SP 2013?

Thank you for this! It has helped me many times!
I refernce this page often!
I had a problem where I upgraded and Central Administration showed http://__Central_Admin__/_admin/FarmServers.aspx Server XYZ Status — Upgrade Required.
I tried to clear the configuration cache and then tried to run Get-SPProduct -Local
I still had the problem. Running your powershell command worked! I ran it on the servers that had the “problem” and your psconfig.exe fixed it. Thank you!

thank you for the post. Isn’t mandatory for all CU to run the psconfig after the CU installation? or is it depending on the CU requirements? If I install for example, the CU for May, 2016, does it include all previous fixes contained on the previous CUs? I am new on this, thank you for your answers.

Hi Javi,
it is required to fully apply the CU but usually you can run in backward compatibility mode for a couple of weeks if your maintenance windows is not big enough to install the CU and run PSCONFIG.
This CU is different as installing it without running PSCONFIG right away breaks search.
Cheers,
Stefan

thank you, but once I installed the one for July, can I jump to, let’s say, the one for May 2016 without installing the previous ones? does it include the fixes for the ones between those CU?, regards,

Hey Stefan, can you confirm whether the PSCONFIG need to be run immediately after the install of the July 2016 CU when moving from Feb 2016 CU? Or it’s just applicable only if currently the farm is on July 2015 or older CU patch level?
Thanks!

Hi Shail,
only when your farm was on a level from July 2015 or older you have to run it right away.
Otherwise you can schedule running PSConfig to a later date.
But if you plan to delay running PSConfig ensure to run the “install-spapplicationcontent” cmdlet to ensure that the correct DLLs get loaded.
Cheers,
Stefan

Thanks Stefan. The “install-spapplicationcontent” cmdlet I thought was part of PSCONFIG. So, when shall we run this cmdlet – before running the psconfig or later? Also, for multi-server farm like ours, do we need to run it on each machine or just on one server?

Hi Shail,
PSConfig performs the same action as install-spapplicationcontent.
But in case that you are planning to delay running psconfig to plan the DB ugrade step for another day – ensure to run install-spapplicationcontent after installing the fixes to ensure that dlls in the _app_bin directory are updated. Otherwise the dlls installed do not match the dlls in the _app_bin directory which can lead to exceptions and other problems.
Cheers,
Stefan

I am working on a new install and ran psconfig.exe -cmd upgrade -inplace b2b -force per the installation guide that was provided by the consultant who installed SP2013 first.
I get Configuration of SharePoint Products failed. and when I check the PSCDiagnostics log is doesn’t tell me what the issue is.
If I run the command you provided will this work and do the same action?

Hi, does this two errors means I need to run command you provided:
First error:
Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (2f6b7351-b864-48ea-bd6c-5a348a669bf9).
Reason: The device is not ready.
Technical Support Details:
System.IO.FileNotFoundException: The device is not ready.
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

Second error:
The mount operation for the gatherer application 3445ee04-0f4e-4e5e-a54f-b7ac19304e81-crawl-0 has failed because the schema version of the search gatherer database is less than the minimum backwards compatibility schema version supported for this gatherer application. The database might not have been upgraded.