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