While doing some lab testing we notice the Test-CsDatabase uses the local server current update to verify which is the expected version.
As an example, in our lab we have pool.gears.lab with January 2014 Cumulative Update and it will return the following:
Test-CsDatabase -ConfiguredDatabases -SqlServerFqdn sql01.gears.lab | Select SqlServerFqdn, SqlInstanceName, DatabaseName, InstalledVersion, ExpectedVersion | ft -AutoSize
But if we run the same cmdlets on a pool with the July 2015 Cumulative Update:
Test-CsDatabase -ConfiguredDatabases -SqlServerFqdn festd.gears.lab | Select SqlServerFqdn, SqlInstanceName, DatabaseName, InstalledVersion, ExpectedVersion | ft -AutoSize
Please note that if we run the Install-CsDatabase on this Front End it will update the CMS, and in lab the CMS is “hosted” by pool.gears.lab:
Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus
Note: FE01 is part of the pool.gears.lab Enterprise Pool and sql01.gears.lab is the Back End.
Please check the following post for a complete version list:
Doug Deitterick’s Blog – How to Verify if Lync Server 2013 Database Updates Completed Successfully
It’s recommended to keep all the Lync/Skype4B servers updated and in the same version. In case we have pools with different versions, we need to make sure that we take into consideration that the PowerShell cmdlet will use the local version to calculate the ExpectedVersion.