#Skype4B : Install cumulative updates on Skype for Business Part I

To update existing system or technology is a continual process in Information Technology. It is applicable in all circumstances either personal devices or business infrastructure.

In this blogpost, I’ll cover the step by step process to update Skype for Business server infrastructure. To make this process simple, Lets divide this process in three phases.

  • Planning
  • Execution
  • Verification

Part I of this blogpost will describe the planning phase while Part II with cover the execution and verification.

Your existing SfB infra may have simple topology or complex topology. When I say simple topology; it means your SfB infra has single site or two site with site resiliency configuration while complex topology means you have multiple sites with different versions and editions of SfB.

Though steps are common for all kind of topologies but sequence may change based on the configuration. Below are the steps in detail which you need to perform at the time of upgrade.

  • Download the latest cumulative updates. If Lync Server 2013 still exist in your topology you can download the CU here.
  • Verify the upgrade readiness state of your SfB pool.

Run Get-CsPoolUpgradeReadinessState on Standard Edition Server or Front End Server in Enterprise Edition to verify the readiness state.

In the result you can get three different values. In Enterprise Edition if State is Ready and IsReadyForUpgrade is True under UpgradeDomains for the same upgrade domain then you are good to go otherwise try to resolve the issue if State is Busy or InsufficientActiveFrontEnds. While in Standard Edition you have to make sure State is not Busy and IsReadyForUpgrade is True under UpgradeDomains for the same upgrade domain.

  • Install the CU on each Front End, Mediation, Director, Persistent Chat and VIS.

    First failover the computer by running Invoke-CsComputerFailover -NoStop -ComputerName <Computer.FQDN> in Enterprise Edition pool and then stop the services gracefully by running Stop-CsWindowsService –Graceful. If you have Lync 2013 servers, SfB Standard Edition or updating SfB servers in scheduled downtime then you can run Stop-CsWindowsService –Graceful to stop the services gracefully.

Run SkypeServerUpdateInstaller.exe or LyncServerUpdateInstaller.exe to install all the updates based on the version.

Run Invoke-CsComputerFailback -ComputerName <Computer.FQDN> for failback of each FE server after update in SfB Enterprise Edition pool.

Note: Follow the same process for each upgrade domains until all upgrade domains in the pool are updated.

  • Update the Back End servers.

In this step update all the Back End servers which are associated with the updated Standard Edition or Enterprise Edition Front End pool.

Standard Edition:

Install-CsDatabase -ConfiguredDatabases –SqlServerFqdn <SE.FQDN> -Verbose

Enterprise Edition:

If you are using Enterprise Edition you can have three different configuration for Back End databases. Make sure Primary Server is Principal for all the databases if you are using SQL Mirror for the Back End database. Run Invoke-CsDatabaseFailover -NewPrincipal and verify Primary Server is Principal for all the databases. Once you have confirmed, run the following cmdlets based on your database configuration.

  1. All databases including Archiving, Monitoring and Persistent Chat on the same server.

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <FEBE.FQDN> -ExcludeCollocatedStores -Verbose

    Install-CsDatabase -DatabaseType PersistentChat -SqlServerFqdn <PChatBE.FQDN> -SqlInstanceName <DBInstance> -Verbose

  2. Only Archiving and Monitoring databases are collocated with FE Back End database.

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

  3. Archiving, Monitoring and Persistent Chat databases are not collocated with FE Back End server.

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

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <SQLServer.FQDN> -Verbose

Note: Specify SQL server fqdn in all the cmdlets if you are not using default instance.

  • Update the Central Management Store.

Upgrade the Central Management store by running Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <CMS.FQDN> -SqlInstanceName <DBInstanceName> -Verbose

Note: All the existing FE pools and BE servers have been updated successfully before running this cmdlet. If you have coexistent environment with Lync 2013 or Lync 2010 don’t run this command. For more information contact Microsoft or refer TechNet articles.

  • Enable Mobility.

Run Enable-Topology.

  • Run the bootstrapper.exe on all the FEs, Mediations and Directors on which the web components are installed and updated.

In Part II of this blog post, I’ll cover all the steps which are required for execution and verification process.


2 thoughts on “#Skype4B : Install cumulative updates on Skype for Business Part I

  1. Johan

    All nice and neat, but do You need special privileges? I reed this and other instructions but all seem to take into acount that I have “superadmin”-Powers over our whole Environment. Do I need admin-privileges to the SQL-backend in order to execute? Are there other privileges I need to have?
    This was a major issue when upgrading to Skype4b.


    1. Ajay Kakkar Post author

      Good Question!
      You should have privilege to write in SQL databases. Let’s take an example: You have a Lync/SfB administrator account and you use same account for SQL management as well. Then no worries…

      In many cases administrator uses same account which was used to deploy Lync/SfB. Otherwise you should have sysadmin privilege in SQL.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s