How to Apply Lync Server 2013 Cumulative Updates


Update 3/17/13 – Added information about additional update steps from KB2809243.

Just like previous versions of OCS/Lync, there are two methods to update the servers with OCS/Lync cumulative updates.  You can use Microsoft Update/WSUS or you can use LyncServerUpdateInstaller.exe.  Both ways accomplish the same thing, but what I find is that a lot of customers who use the Microsoft Update/WSUS method forget to then go back and apply any database updates that are needed.  This blog post focuses on the LyncServerUpdateInstaller.exe method, as I prefer using it over the Microsoft Update/WSUS method:

 

Installing Standard Edition Server Cumulative Updates

To apply the latest cumulative updates to a Standard Edition Server, all you need to do is run LyncServerUpdateInstaller.exe and click on Install Updates:

The installer will detect what Lync services have been installed on the server and will display whether or not the latest update has been applied.  Once the updates have been installed, restart the server if prompted to do so and then skip down to the “Installing Lync Database Updates” at the bottom of this article.

 

Installing Enterprise Edition Pool Front End Server Cumulative Updates

With the release of the Lync Server 2013 Cumulative Updates, the process for updating Front End Servers in an Enterprise Edition Pool has changed slightly.  Most of the changes have to do with the move to using Windows Fabric to replicate data between the Front End Servers in an Enterprise Edition Pool.  With the introduction of Windows Fabric a couple of other concepts were also introduced, User Groups and Upgrade Domains.  Both are created and managed by Windows Fabric automatically.  You can read more about these new features in the Lync Server 2013: Windows Fabric & User Groups blog post.  Because of these new concepts in Lync Server 2013, you will need to update your Front End Servers one at a time, making sure that services are fully restored on that server before you move on to the next Front End Server in the pool in order to make sure that you maintain quorum and at least one copy of all of the user groups.  The flow chart below, from the Upgrade or Update Front End Servers TechNet article, walks through the process:

Running Get-CsPoolUpgradeReadinessState should return something similar to the following output:

If the cmdlet returns True for IsReadyForUpgrade for the server you are going to update, you can then run LyncServerUpdateInstaller.exe and apply the necessary updates on the Front End Server:

This process is the same as updating a Standard Edition Server.  Once the updates have been installed, restart the server if prompted to do so.  Once the server has been restarted, make sure that all of the services have returned to the running state and then run the Get-CsPoolUpgradeReadinessState cmdlet again and repeat the process until all of the Front End Servers in the pool have been updated.  You can then skip to the “Installing Lync Database Updates” at the bottom of this article.

 

Installing Lync Database Updates

Also like previous version of OCS/Lync there Lync database updates that need to be applied.  The steps are detailed in the “Step 2: Apply the back end database updates” section in KB2809243.  You apply the update by running the following PowerShell cmdlet on one Front End Server in each Enterprise Edition Pool and all Standard Edition Servers in your environment:

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn FEBE.FQDN -Verbose

 

Additional Update Steps

Also make sure that you follow the steps in sections “Step 3: Enable the Mobility service” and “Step 4: Enable the Unified Communications Web API” in KB2809243.

 

Installing Updates on Other Lync Server 2013 Servers

To apply the latest cumulative updates on other Lync Server 2013 servers in your environment, just run LyncServerUpdateInstaller.exe and click on Install Updates.

Comments (39)

  1. dodeitte says:

    @Luca Fabbri

    This happens because of the design of the update for some specific databases, such as rtcab. The stored procedure sp_addrole is throwing that warning because the role already exists.  The warning messages can be ignored.

  2. dodeitte says:

    @Thomas

    Thanks for the feedback!  I updated the post to reflect this.

  3. dodeitte says:

    @WalterG

    That server has had the Security Update for Lync Server 2013 (KB2992965) applied.

  4. dodeitte says:

    @Chris

    You can do it either way. If you perform the update with the services running you’ll notice some errors in the Lync Server Event Log when the services lose connectivity to the databases. Once the updates are complete you should see informational messages logged
    about the services reestablishing connectivity.

  5. dodeitte says:

    @Vassil

    The updates for Lync Server 2013 are cumulative, so you can download the latest and apply it to the servers. Follow the steps in the KB article to complete the additional steps after applying the updates. Normally you would apply the cumulative updates and
    database updates to the Front End Servers before moving on to the other roles.

  6. thomas says:

    Thanks a lot for the summary, but support.microsoft.com/…/en-us also states:

    Enable-CsTopology

    "%ProgramFiles%Microsoft Lync Server 2013DeploymentBootstrapper.exe"

    Is that only optional or does it enable the new UC API for Lync 2013 mobile access?

    Thanks,

    Thomas

  7. Luca Fabbri says:

    Thank you a lot. I got some errors during "Installing Lync Database Updates". I opened a TechNet Forums post: social.technet.microsoft.com/…/60f3af63-3058-4656-8656-c002bfaada20.

    Please could you tell me more ?

    Thanks

  8. Matt H says:

    What about the edge servers?  I rant the updater.exe but are there any extra stuff like on the FE servers?  ie step 2-4 where you run powershell commands and bootstrapper?

  9. dodeitte says:

    @Matt H

    For the Edge Servers, currently you only need to run the LyncServerUpdateInstaller.exe.

  10. Thomas N says:

    Do you need to run Enable-CsTopology and Bootstrapper on a SBA?  Thanks.

  11. dodeitte says:

    @Thomas N

    No, Web Components aren't installed on an SBA/SBS.

  12. Johan vd S says:

    What if there are multiple sites?

    What if (multiple) sites are equipped with the latest updates. But the CMS Database is NOT. Is this possible? Can a updated site run without applying the latest updates on the CMS (Yet)?

    Thanks,

    Johan

  13. dodeitte says:

    @Johan vd S

    Yes, however if the CMS is on a Lync Server 2013 pool, it would be recommended to run any updates for the CMS once the pool hosting the CMS and it's paired pool, if one exists, are updated.

  14. WalterG says:

    After applying CU5 one of my servers report following version for Core Components.
    Microsoft Lync Server 2013, Core Components 5.0.8308.803

    Wonder what caused it to get upgraded to a version newer than 5.0.8308.733 ?

  15. mecha says:

    We are currently having the following infrastracture 2 lync edge servers lynce1 and lynce2, 2 lync front end pools lyncfe1 and lyncfe2, monitor lync server lynm and lync wac server lyncw. What are steps that I will need to accomplish to succesfully update
    all the servers. Do I need to update my lyncfe1 and 2 first by running LyncServerUpdateInstaller.exe then installing Installing Lync Database Updates on both of them one at a time, than "Step 3: Enable the Mobility service" and "Step 4: Enable the Unified
    Communications Web API" opn both of them one at a time, then do my mon and wac servers do monitor first than wac by just running LyncServerUpdateInstaller.exe, no additional cmdlets that I need for monitor and wac servers, than run LyncServerUpdateInstaller.exe
    on both edge servers, I assume no additional cmdlets that I will need to run? Is that the procedure for my environment?

  16. Ian says:

    You only need to run Steps 3, 4 and 5 if you are updating from the RTM version. Upgrading from a previous CU update only requires Steps 1 and 2.

    1. M says:

      How can you tell if you are running on the RTM version? I have the below information from a server in an enterprise pool that I need to update..

      PS C:\Users\Svc-Lync-sql> Get-CsServerVersion
      Microsoft Lync Server 2013 (5.0.8308.0): Volume license key installed.

      PS C:\Users\Svc-Lync-sql> $WmiObjs | where{$_.Name -match “Lync Server” -and $_.Name -notmatch “Best” -and $_.Name -notmatch “Debug”} | Sort Name | ft Name, Version -AutoSize

      Name Version
      —- ——-
      Microsoft Lync Server 2013, Administrative Tools 5.0.8308.726
      Microsoft Lync Server 2013, Application Host 5.0.8308.0
      Microsoft Lync Server 2013, Audio Test Service 5.0.8308.0
      Microsoft Lync Server 2013, Conferencing Server 5.0.8308.834
      Microsoft Lync Server 2013, Core Components 5.0.8308.866
      Microsoft Lync Server 2013, Core Management Server 5.0.8308.577
      Microsoft Lync Server 2013, Front End Server 5.0.8308.857
      Microsoft Lync Server 2013, Reach Fonts 5.0.8308.0
      Microsoft Lync Server 2013, Resource Kit Tools 5.0.8308.577
      Microsoft Lync Server 2013, Web Components Server 5.0.8308.866
      Microsoft Lync Server 2013, WMI Backwards Compatibility 5.0.8308.0
      Microsoft Lync Server 2013, XMPP Translating Gateway 5.0.8308.0

      The base version from Get-CsServerVersion is reported as 5.0.8308.0, which is the RTM version, but other components have more later versions, especially the ‘Core Components’ is at 5.0.8308.866. Is this RTM or has it been updated? I need to know so I can decide whether to perform steps 3, 4, and 5.

      1. dodeitte says:

        It looks like some updates have been applied. You can always download the latest LyncServerUpdateInstaller.exe and run it to make sure that every component is up-to-date.

  17. Chris says:

    When applying the SQL backend update (Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn -Verbose) do we need to stop all front end and director services for that pool or can we run the update with the front end / director services running?

  18. Vassil says:

    Dear All,
    I inherited a well prepared Lync 2013 environment (1 FE, 1 BE, 1 Med, 1 Edge, 1 app and 1 chat). The environment isn’t updated from more than 6 months. Is it a problem to install the latest one or need to install all before the last one? Based on this article
    my scenario is Install the latest update on FE server and I don’t understand what next update the database or other roles before database?

    Thank you in advance

  19. Vassil says:

    Thanks dodeitte,
    So my scenario will be install CU update to frond end server, after that database (different machine than my front end server – will need to execute the command – Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn FEBE.FQDN -Verbose on my FE PowerShell
    console ?) and will finish with other roles?
    Thanks

  20. Chris says:

    Thanks for the the info dodeitte, this makes the process much easier as I will not have a total pool outage.

  21. Neel says:

    I applied May 2015 CU to my Lync environment. Everything is working fine and I did not get any error ensuring that I have followed each and every step as per Microsoft recommends. Now, to know which Lync version has been installed, I am typing ".Get-InstalledLyncVersion.ps1"
    script, it shows correct version"5.0.8308.887", but in the same line it shows -Unknown CU found". Can anyone tell me why?

  22. rahul says:

    On standard edition if we have CU 3 , I thaink we do not need to run install-csdatabaseupdate cmdlet

  23. gautam says:

    Hi I have one FE Pool ( 2 servers in it) and 1 Edge Server. I just have doubt about CSdatabase updates that I need to perform since I will be upgrading from RTM Server. Issue is that my SQL backend DBs (including CMS) is installed on an SQL cluster on
    a shared Instance, so just wanted to know the recommended command given in technet article is sufficient or do I need to do some extra work ?

  24. B says:

    @Neel – Also got the same result. If you check the script it was only updated to

    December 2014 Update (CU8) – 5.0.8308.857
    All other updates are released after the script and is not listed thus the script’s result is an unknown version.

  25. gautam says:

    @B : Which command did you run to update the configured databases and CMS databases ? If we just run the install-csdatabase command without specifying database paths will it work ?

  26. Off2work says:

    Hi, we have Lync 2013 server deployment using sql mirroring. In total we have 3 frontend,2 mediation,2 edge, 3 sql and 1 Office web app.
    Patching environment takes time, so wondering if we can do patching during business hour with this setup?
    If so, what is best practice when we do the final step :

    Install-CsDatabase -ConfiguredDatabases
    Install-CsDatabase -CentralManagementDatabase

    Will it cause downtime for users?

    Thanks!

  27. dodeitte says:

    @Off2work

    I wouldn’t recommend patching during business hours. Running Install-CsDatabase will make the databases unavailable during the patching process, which could cause disruption to services that rely on that database.

  28. dodeitte says:

    @Gautam

    You can use the commands in KB2809243 to make sure the SQL updates are applied correctly.

  29. Anthony says:

    Last step says:

    To apply the latest cumulative updates on other Lync Server 2013 servers in your environment, just run LyncServerUpdateInstaller.exe and click on Install Updates.

    Does this mean we have to copy it to the other servers and run it on each or will it automatically detect and update all the required components on each server automatically if I run it on the first FE sever?

    i.e. Do I have to do this on each Front End server, Edge, Mediation, Office Web App server etc. or do I just run it on one Front End server and it will update everything else in the topology automatically?

    Thanks!

  30. dodeitte says:

    @Anthony

    You will need to copy the LyncServerUpdateInstaller.exe to each server that you need to update and run it locally. Also, the Office Web Apps server is not a Lync role, so you don’t need to worry about running the LyncServerUpdateInstaller.exe on it.

  31. Anthony says:

    Cheers dodeitte – thought that about the Web App server, saw it listed in the Lync Topology but wasn’t 100% sure. Running it against a small 2013 Standard install tonight. Then against a large Enterprise environment in a couple of weeks. With Enterprise
    – do you also run the Update Installer on the SBA’s? And we have SQL mirroring – do I need to run the DB update on both SQL servers or only on the ‘master’ which will then mirror it to the copy?

  32. dodeitte says:

    @Anthony

    Updates for the SBAs are controlled by the SBA vendor. You should contact them to see what current updates are available for the SBA. You only need to run the Lync DB updates on the server where the database is marked as Primary.

  33. Archana says:

    hi, we have PRD and DR enterprise edition pools, should be apply the database schema changes on both the PRD and DR database instances after installing the updates.

    The lync databases and archive, monitoring DBs are separated in 2 different instances in both PRD and DR. Lync server 2013.
    Please advise.

    1. dodeitte says:

      Yes, you should be keeping up-to-date with the database schema updates.

  34. IrwinBats says:

    What if you have mutiple sites, would it be okay to just perform the CU updates in just one site? Would it be okay for each of the site not in the same CU patch level?

    1. dodeitte says:

      Ultimately, you would want to make sure that all sites get updated, but there is no requirement that you must update all sites at the same time.

  35. leejihoon says:

    Hello, I have question about “Installing Enterprise Edition Pool Front End Server Cumulative Updates”

    When I do CU, I usually do about Frontend and Back-end Server like below.
    Step1: Stop-CsWindowsService >> run Installer.exe (@all the front-end server in order)
    Step2: Install -CsDatabase -CentralManagementDatabase -SqlServerFqdn xxxxxxxx(servername) -Verbose

    And then, It should do Step3 and Step 4?
    (step3: Enable the Mobility service) : Enable Cs-Topology
    (step4: Enable the Unified Communications ) : %ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe

    I don’t do Step3, Step4 when I managed Server.