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:
IISRESET
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install
Permalink
Our SharePoint product group released the next monthly cumulative updates. How patching works for SharePoint
Permalink
With July 2015 CU for SharePoint Server 2013, we have an important update w.r.t. the database
Permalink
Stefan. Is it necessary to run PSCONFIG on all servers in the farm or just the APP server?
Permalink
Hi Michael,
always on all servers.
Cheers,
Stefan
Permalink
iisreset /noforce
It's better.
Permalink
What, no love for the SP products configuration wizard?
Permalink
Our SharePoint product group released the next monthly cumulative updates. How patching works for SharePoint
Permalink
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()'.
at Microsoft.Office.Server.UserProfiles.UserProfileServerStub.GetProperty(Object target, String propName, ProxyContext proxyContext)
at Microsoft.SharePoint.Client.ServerStub.GetPropertyWithMonitoredScope(Object target, String propertyName, ProxyContext proxyContext)"
This seems to be happening only after this CU is installed .
Permalink
Hi Divesh,
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.
Cheers,
Stefan
Permalink
Hi Divesh,
actually please try the following Powershell CmdLet rather than manually copying the dll:
Install-SPApplicationContent
That should take care of the copy.
Cheers,
Stefan
Permalink
Hi Stefan, Thanks for the post. What if we are doing the August CU directly without going to July? Would it still need PSC right after the update?
Permalink
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
Permalink
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…
Permalink
Hi Len,
If you have ran PSConfig since July 2015 CU was installed then you are fine.
Cheers,
Stefan
Permalink
I know this it’s been a while since this, but is there something I can do to tell whether this command has already been applied in our farm? Search doesn’t work at all. We are in May 2017 CU but not sure if anyone ran that psconfig before!
Permalink
Hi Javi,
what you can do is to check if the servers on farm page in the central admin states that an upgrade is available or required.
In case that you are using upgrade-spcontentdatabase separately it would not help but if you are only using PSConfig to upgrade your farm after a patch installation it would be a valid indication.
Cheers,
Stefan
Permalink
Hi Stefan, I really can’t tell whether the command was run or not in the past. Would it do any harm if I run the command even if it was already executed before? BTW, I appreciate your prompt response!
Permalink
There is no harm in running it again.
Permalink
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 🙂
Permalink
Hi Jessica,
can you share the exact error message you get?
Cheers,
Stefan
Permalink
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': 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'. 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.
Permalink
Mmmmmh maybe I could try to create the deleted websites and then delete them again, hopefully they will clean up 😀
Permalink
You might want to open a support case to get this cleaned up.
Permalink
🙁 ms support told me when UI Wizard finishes, everything must be fine ^^ ok thanks for your time
Permalink
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
Permalink
@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.
http://blogs.msdn.com/b/jamesway/archive/2011/05/23/sharepoint-2010-clearing-the-configuration-cache.aspx
Permalink
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.
Permalink
Thanks for the heads-up! I updated the command.
Permalink
Hi Stephen,
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.
Unable to locate Managed Metadata Proxy which is default keyword taxonomy for SSA f66aeb20-46bd-460c-b943-7e8d85be8837
Note: we do not have the Managed Metadata Service running.
everything seems to be working fine, but I am concerned about these errors. I have re-indexed and re-crawled and have rerun this command and the errors continue.
Any ideas?
Permalink
Hi Mark,
these are not known issues with the CUs. I would recommend to open two separate support cases with Microsoft for these two issues to get them analyzed.
Cheers,
Stefan
Permalink
will running the psconfig mess up with my custom configuration on the site collection? my understanding is this utility will upgrade all the databases.
Permalink
Hi Mei,
PSCONFIG updates the database schema of all databases – not the database content.
Cheers,
Stefan
Permalink
Thanks, Stefan. that`s good to know. i am a bit paranoid as it`s a production environment.
Permalink
Hi Stefan,
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?
Thanks
Permalink
Hi Luke,
September CU can be installed on top of SP1.
Sorry – I don’t have the answer to your second question available.
Cheers,
Stefan
Permalink
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!
Permalink
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.
Permalink
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
Permalink
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,
Permalink
Hi Javi,
they are named CU (cumulative update) because they are cumulative.
So each CU includes all previous CUs.
Cheers,
Stefan
Permalink
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!
Permalink
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
Permalink
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?
Permalink
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
Permalink
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?
Permalink
Hi Tangie,
first of all: that is not a sufficient command. You need to use more parameters:
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install
See here for details:
https://blogs.technet.microsoft.com/stefan_gossner/2015/08/20/why-i-prefer-psconfigui-exe-over-psconfig-exe/
In addition if a problem occurs during the upgrade the problem is usually reported in the upgrade.log and not in the PSCDiagnostics.log.
Cheers,
Stefan
Permalink
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.
Permalink
The second error indicates that psconfig is required.
Permalink
Thx, second error is resolved and that for some reason resolved the first error 🙂