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: 

IISRESET

PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install

Comments (42)

  1. Anonymous says:

    Our SharePoint product group released the next monthly cumulative updates. How patching works for SharePoint

  2. Anonymous says:

      With July 2015 CU for SharePoint Server 2013, we have an important update w.r.t. the database

  3. ML49448 says:

    Stefan. Is it necessary to run PSCONFIG on all servers in the farm or just the APP server?

  4. Hi Michael,
    always on all servers.
    Cheers,
    Stefan

  5. Alexandre says:

    iisreset /noforce
    It's better.

  6. james says:

    What, no love for the SP products configuration wizard?

  7. Anonymous says:

    Our SharePoint product group released the next monthly cumulative updates. How patching works for SharePoint

  8. Divesh says:

    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 .

  9. 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

  10. 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

  11. Vishwas Setty says:

    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?

  12. 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

    1. Len says:

      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…

      1. Hi Len,
        If you have ran PSConfig since July 2015 CU was installed then you are fine.
        Cheers,
        Stefan

  13. Jessica3 says:

    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 🙂

  14. Hi Jessica,
    can you share the exact error message you get?
    Cheers,
    Stefan

  15. Jessica3 says:

    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.

  16. Jessica3 says:

    Mmmmmh maybe I could try to create the deleted websites and then delete them again, hopefully they will clean up 😀

  17. You might want to open a support case to get this cleaned up.

  18. Jessica3 says:

    🙁 ms support told me when UI Wizard finishes, everything must be fine ^^ ok thanks for your time

  19. 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

  20. Josh says:

    @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

  21. Peter Schneider says:

    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.

    1. Thanks for the heads-up! I updated the command.

  22. MarkPisc2 says:

    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?

    1. 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

  23. Mei Tang says:

    will running the psconfig mess up with my custom configuration on the site collection? my understanding is this utility will upgrade all the databases.

    1. Hi Mei,
      PSCONFIG updates the database schema of all databases – not the database content.
      Cheers,
      Stefan

      1. Mei Tang says:

        Thanks, Stefan. that`s good to know. i am a bit paranoid as it`s a production environment.

  24. Luke says:

    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

    1. 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

  25. 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!

  26. Javi Cartin says:

    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.

    1. 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

      1. Javi Cartin says:

        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,

        1. Hi Javi,
          they are named CU (cumulative update) because they are cumulative.
          So each CU includes all previous CUs.
          Cheers,
          Stefan

  27. Shail says:

    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!

    1. 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

      1. Shail says:

        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?

        1. 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

  28. Tangie Scott says:

    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?

    1. 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

Skip to main content