Lync Server 2013 Cumulative Updates (CU2) July 2013 installation Workflow

The Second Cumulative update package for Lync Server and client has been released,

It seems like the Server update package improves the reliability, stability and performance of Lync server 2013 Different roles,

Download Location

You can get the download bits at this location , also check the KB article details here KB2809243


installing Lync Server Cumulative updates, is two split on two main processes:

  • Applying updates for various Lync roles/services
  • Applying database updates


  • It is advised to plan installing the Cumulative updates off business/non peak business hours, since services restart is required as part of the installation process
  • The process of Applying the updates for various Lync roles is common for all Lync installations and role combination \

A) Applying updates for various Lync roles/Services

1) Check the pool upgrade readiness state

In order to check the pool upgrade readiness state run the following power shell command on one of the Front End Servers


The Pool Result Should be Ready, also double check each Front-End Server state in the pool,
If the State value of the pool is Busy, wait for 10 minutes, and then try to run the Get-CsPoolUpgradeReadinessState cmdlet again. If you see Busy for at least three consecutive times after you wait 10 minutes in between each attempt, or if you see any result of InsufficientActiveFrontEnds for the State value of the pool, there is an issue with the pool and you should try to solve it


2) Stop Lync Services

Stop Lync services prior running the update installer package, this can be done by running stop-CsWindowsService  -graceful  ( –graceful switch is for server draining ) power shell command, if you have already planned the update installation during off business hours you immediately stop the services by running stop-CsWindowsService command without the –graceful switch


3) Run the Lync Server Update Installer

Run the LyncServerUpdateInstaller Executable on one front End Server at a time, notice the version numbers for each installed role/service


one thing to note, based on my experience if you don’t stop the Lync services prior launching the LyncServerUpdateInstaller, you will be prompted to reboot the server machine, it is also good to note that Lync services are not automatically stopped during the installation process, however it is better to stop the Lync services prior launching the update sequence.



Finish the bits installation by starting/rebooting the services/server

at this point we have all core services and roles updated with the July CU2, but what is still missing is the Database update

B) Applying database updates

Unlike updating the different server roles, patching the database should be done by power shell, and

although the Microsoft KB2809243 article includes the required information for applying the database updates, however i thought it would be a good idea to have the various options listed in a better way, for this purpose i have build the following diagram to follow when applying Lync Front-End Databases update.


Here below the process from my setup when applying CU2 Database update, my Environment consists of:

  • 1 EE pool 2010
  • 1 EE pool 2013
  • CMS is located on 2013 pool
  • CMS + FE + Mon + Arch  DBs collocated on one Stand alone server
  • Mirroring is configured on the 2013 Pool


    It is important to mention that for an Enterprise pool installation where database mirroring is setup there’s no requirement to break the mirror prior installing the package like the case was with CU1.

1) since Mirroring is configured we have to verify if the database instances are synced

by Running Get-CsDatabaseMirrorState –PoolFQDN <FEPool.FQDN> | FT


the MirorringStatus columns it should be synchronized

2) verify if the state on primary is principal


Check the StateonPrimary Column should be Principal for all databases

if the state on primary shows principal for all databases  proceed to step d)

3) invoke database failover to switch state on Primary to Principal

invoking Datbase Failover can be done by either running the following command from the lync management Shell

Inovke-csDatabaseFailover –NewPrincipal Primary –PoolFQDN <FEPool.FQDN>  -DatbaseType <DatabseType>

which can be heavy task if you don’t know the corresponding database types for each database in question, or use the great ,

 Lync 2013 Database Mirror Manager Tool  writtern by James Cussen from MyLyncLab which can be used for this purpose.



4) Run Database Update Command

now and after setting all database state on primary to Principal, we can proceed in upgrading the databases.

as i have stated before i have FE + Mon + Arch DBs collocated on the same sql server, so in order to update the Databases we should run the Following commands

Install-CsDatabase –ConfiguredDatabases –SQLServerFQDN <sqlServer.FQDN> -Verbose

after running the command you should have multiple output similar to this one



I would like pin out that you will also be notified that the update wasn’t applied to the Central Management Store at this point.


5) Verify Database successful update installation

Let’s verify if the Database updates were successfully applied by running the following command

Test-CsDatabase –ConfiguredDatabases –SQLServerFqdn <SQLServer.Fqdn> | FT


Compare the Expected DB Version against the Installed DB Version both columns should show same db versions

for more information regarding how to verify Lync Server 2013 successful database update you can refer to a great article written by Doug Dietterick

6) Update Central Management Store

as already mentioned the CMS in my environment is homed on the 2013 Pool thus we should update its corresponding xds and Lis databases.

Run the following command on a Front End Server

Install-CsDatabase –CentralManagementDatabase –SqlServerFqdn CMS.FQDN –SqlInstanceName <SqlInstanceName> –Verbose

in case you run the above command when your CMS is also collocated on the same SQL Server where the other Dbs are homed, you should excpet the following output that shows that the CMS corresponding database are already up to date


7) verify Central Management Store successful update installation

although this is not required but i alwasy prefer to take some time to verify that the update were successful.

in order to verify against the CMS run the following command

Test-CSDatabase –CentralManagementStore –SqlServerFqnd <CMS.FQDN> –SqlInstname <SQLInstanceName> | FT

Test-CSDatabase –CentralManagementDatabase –SqlServerFqnd <CMS.FQDN> –SqlInstanceName <SQLInstanceName> | FT


C) Enable Mobility Service

Run Enable-CsTopology Command to enable the Mobility Service.


D)  Enable the Unified Communications Web API

To enable the Unified Communications Web API (UCWA), you must run the Bootstrapper.exe tool again on all Lync Server 2013 Director servers, Standard Edition servers, and Enterprise Edition front end servers on which the web components are installed and updated. The command to run the tool is as follows:

%ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe



at this time we have passed through all the required steps to apply Lync Server 2013 Cumulative Updates July 2013 Package.

Hope that you find this post useful as your comments are appreciated.

Enjoy lyncing

Experienced Consultant Team Lead with a demonstrated history of working in the information technology and services industry. Skilled in Azure, Skype for Business, SQL Server, Iaas, Saas, PaaS, ITIL, Microsoft Solutions, and Servers. Strong information technology professional, technology passionate.

Posted in Messaging & Collaboration Tagged with: , , ,
10 comments on “Lync Server 2013 Cumulative Updates (CU2) July 2013 installation Workflow
  1. Antonio says:

    Thank you !

  2. Ståle Hansen says:

    Great guide Charbel. I feel there is just one thing missing, and that is easily listing all servers that require and update. It is important to update Trusted servers as well since they will have some of the core Components installed. This cmdlet will give you a list of the servers you need to update: Get-CsComputer | Format-Table Fqdn. Could you include it?

  3. Anonymous says:

    Good stuff. Would be nice if the flowchart was a little bigger. Kinda hard to see.

  4. Anonymous says:

    Under step 7, the command line is incorrect. There is no -CentralManagementStore parameter. It’s -CentralManagementDatabase, as shown in the screenshot. Also, -SqlInstanceName is spelled incorrectly. I hope this helps.

  5. Andrew says:

    Thank you!
    It is so helpful to me.

  6. Aldorann says:

    I like this post. It is better than just about everything else on the subject I’ve seen to date. My issue is though, I haven’t found anything that details any testing procedures once the updates are complete.

2 Pings/Trackbacks for "Lync Server 2013 Cumulative Updates (CU2) July 2013 installation Workflow"
  1. […] Lync Server 2013 updates: January 2014 [updated, 09.01.14] Installation guide Microsoft Lync 2013 updates: March 2014 [updated, 13.03.14]  Service Pack 1 for Microsoft […]

Leave a Reply

Your email address will not be published. Required fields are marked *