SfB Server 2015: Event 57005, LS User Store Sync Agent – Could not find stored procedure XdsQueryCriticalDocumentSignatures

While updating our SfB Server 2015 lab, we notice that a recently updated Front End server had multiple errors and warnings in the Event Viewer:

Log Name: Lync Server
Source: LS User Store Sync Agent
Date: 12/09/2017 21:54:33
Event ID: 57005
Task Category: (1061)
Level: Error
Keywords: Classic
User: N/A
Computer: sfbfe03.recore.lab
Description:
Error encountered pushing data to RtcXds Blob Store

#CTX#{ctx:{traceId:10006, activityId:”e40d8197-4293-4146-9d72-03c0c2957f6c”}}#CTX#
Push cycle identifier: [sfbfe03.recore.lab.2fd688f5-0f3a-407f-bab5-3fa5c3757443]
ItemCount: [0]
Error Message: [PushController: XdsQueryCriticalDocumentSignatures failed: System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure ‘XdsQueryCriticalDocumentSignatures’.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at Microsoft.Rtc.Common.Data.DBCore.Execute(SprocContext sprocContext, SqlConnection sqlConnection, SqlTransaction sqlTransaction)
ClientConnectionId:e597ef79-3a87-4d08-8561-8e8c0db10e37
Error Number:2812,State:62,Class:16]
Cause: Possible issues with back-end database.
Resolution:
Ensure the back-end is functioning correctly.

Log Name: Lync Server
Source: LS User Store Sync Agent
Date: 12/09/2017 21:54:33
Event ID: 57006
Task Category: (1061)
Level: Warning
Keywords: Classic
User: N/A
Computer: sfbfe03.recore.lab
Description:
RtcDb Sync Agent sproc failed

#CTX#{ctx:{traceId:10006, activityId:”e40d8197-4293-4146-9d72-03c0c2957f6c”}}#CTX#
Sproc: [XdsQueryCriticalDocumentSignatures]
Exception: [System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure ‘XdsQueryCriticalDocumentSignatures’.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at Microsoft.Rtc.Common.Data.DBCore.Execute(SprocContext sprocContext, SqlConnection sqlConnection, SqlTransaction sqlTransaction)
ClientConnectionId:e597ef79-3a87-4d08-8561-8e8c0db10e37
Error Number:2812,State:62,Class:16]

The error message mentions that XdsQueryCriticalDocumentSignatures store procedure is missing from RTCXDS database, after checking the version for this particular database, we notice that a new version was available:

Test-CsDatabase -ConfiguredDatabases -SqlServerFqdn sqlpool.recore.lab | Select SqlServerFqdn, SqlInstanceName, DatabaseName, InstalledVersion, ExpectedVersion | ft -AutoSize

A complete database version list for Skype for Business Server 2015 is available here:

Doug Deitterick’s Blog – How to Verify if Skype for Business Server 2015 Database Updates Completed Successfully
https://blogs.technet.microsoft.com/dodeitte/2015/05/10/how-to-verify-if-skype-for-business-server-2015-database-updates-completed-successfully/

Please note that XdsQueryCriticalDocumentSignatures store procedure was added in the May 2017 Cumulative Update for SfB Server 2015.

After we finish updating the remaining Front End servers and updated the RTCXDS database on the SfB Back End, we didn’t get more Errors/Warnings related to the missing XdsQueryCriticalDocumentSignatures store procedure.

We need to make sure that we follow the steps described for each Lync/SfB Server version:

Updates for Lync Server 2010
http://support.microsoft.com/kb/2493736

Updates for Lync Server 2013
http://support.microsoft.com/kb/2809243

Updates for Skype for Business Server 2015
http://support.microsoft.com/kb/3061064

SfB Server: Cannot install KB2982006 – This update is not applicable to your computer.

Update 2018/01/31 – Please note that the fix for this is included in the Skype for Business January 2018 Cumulative Update (CU6 HF1)

Prerequisite (KB2982006) not satisfied when you try to install Skype for Business Server 2015
https://support.microsoft.com/kb/4056288

In a recent deployment with all the Windows Updates installed, including the KB2919442 and KB2919355,  we couldn’t install the KB2982006:

We also got the same error in the Event Viewer > Windows Logs > Setup:

Log Name: Setup
Source: Microsoft-Windows-WUSA
Date: 04/09/2017 18:48:44
Event ID: 3
Task Category: None
Level: Error
Keywords:
User: RECORE\Administrator
Computer: sfbstd.recore.lab
Description:
Windows update could not be installed because of error 2149842967 “” (Command line: “”C:\Windows\system32\wusa.exe” “C:\UCLobby\Windows8.1-KB2982006-x64.msu” “)

The good news is we can use the DISM tool to manually add the KB2982006.

Before using DISM we need to make sure that KB2919442 and KB2919355 are already installed:

Get-Hotfix KB2919442,KB2919355,KB2982006

Please note that we cannot use a .msu file if we use the Online switch with DISM:

dism /Online /Add-Package /PackagePath:C:\UCLobby\Windows8.1-KB2982006-x64.msu

We have to expand the .msu file first using the steps described here:

How to use DISM to install a hotfix from within Windows
https://blogs.technet.microsoft.com/askcore/2011/02/15/how-to-use-dism-to-install-a-hotfix-from-within-windows/

An easy way is to create a folder and copy the Windows8.1-KB2982006-x64.msu file and also create a KB2982006 sub-folder:

Then we expand the .msu with the following cmdlet:

Expand -F:* C:\UCLobby\Windows8.1-KB2982006-x64.msu C:\UCLobby\KB2982006
https://technet.microsoft.com/en-gb/library/cc722332(v=ws.10).aspx

Since we have a .cab file we can proceed and manually add the KB2982006 with DISM:

dism /Online /Add-Package /PackagePath:C:\UCLobby\KB2982006\Windows8.1-KB2982006-x64.cab

With Get-Hotfix we confirm that KB2919442, KB2919355 and KB2982006 are installed:

Get-Hotfix KB2919442,KB2919355,KB2982006

Finally, we run Step 2 and confirm that the check for KB2982006 is successful:

 

Lync/SfB: Quickly access the Certificate Store

In a previous post we wrote about the Checks to do in the Lync/Skype for Business Server Certificate Store, however, sometimes we might also want to manually check it using the Certificate Store MMC.

Since Windows Server 2012 and Windows 8 we can quick access the Certificate Store MMC, for Local Computer and Current User, using Command Prompt/PowerShell or the Windows Search:

Local Computer

certlm

Note: Using the Windows Search we need to add the .msc – certlm.msc

Current User

certmgr

Note: Using the Windows Search we need to add the .msc – certmgr.msc 

Please also check the original post:

PKI Tip: Certificate Store Shortcuts
https://blogs.technet.microsoft.com/xdot509/2013/06/10/pki-tip-certificate-store-shortcuts/

Enable Lync 2010 Meeting Invite Template in Lync2013/SfB2015

The January 2017 client update for Lync 2013/SfB2015 includes a new registry key that allows Lync2013/SfB2015 Meeting Addin to create a meeting invite similar to the one in Lync 2010 client.

For reference we need to look how Dial in Conferencing Numbers are configured:

Get-CsDialInConferencingAccessNumber
https://technet.microsoft.com/en-us/library/gg413015.aspx

Now, before any change, we can see that a meeting invite for a user from the UK region will look like this:

After applying the January 2017 update KB3141468 for Lync2013/SfB2015 Client we can use the registry key EnableW14MeetingInvitationTemplate to have the template as Lync 2010 Meeting Add-in. We can simply add the registry key with Command Prompt or PowerShell:

Command Prompt:
reg add HKCU\Software\Microsoft\Office\15.0\Lync\AddinPreference /v EnableW14MeetingInvitationTemplate /t REG_DWORD /d 1 /f

PowerShell:
Set-ItemProperty -Path ‘HKCU:\Software\Microsoft\Office\15.0\Lync\AddinPreference’ -Name ‘EnableW14MeetingInvitationTemplate’ -Value ‘1’ -Type DWord

Note: This registry key is only available on a User Level, we cannot add it under HKEY_Local_Machine.

Now we can create a meeting in Outlook and the invite will be similar to Lync 2010 Addin:

Please note that this registry key setting is only available for the Lync2013/SfB2015 (15.0.4893.1000 or later). The update list is available here:

Lync 2013/Skype for Business 2015 Client Update List
https://blogs.technet.microsoft.com/uclobby/2016/10/19/lync-2013-skype-for-business-2015-client-update-list/

Lync/SfB: Check client version using PowerShell

During troubleshooting we often need to check the installed version, for Lync/SfB Server we already know how to check the installed version using PowerShell:

Skype for Business Server Component Version using Get-CsServerPatchVersion

Skype for Business Server 2015 Component Version using PowerShell

Lync Server Component Version using PowerShell (Windows Registry)

On the client we can check the version by using going to Option > Help > About:

However, for the SfB 2016 MSI this is a slightly different since the displayed version is the MSO component and not the SfB client version:

To get the Lync/SfB client version we can simply run the following in PowerShell cmdlet:

(Get-ItemProperty -path “HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths\lync.exe”).”(Default)” | ForEach-Object {Get-ChildItem -Path $_ | Select-Object -ExpandProperty VersionInfo | Select FileDescription,ProductVersion} | ft -autosize

Skype for Business 2016 MSI

Skype for Business 2016 Click-to-Run

Skype for Business 2015 MSI

Please note that this will work for Lync2013/SfB2015/SfB2016 Click-to-Run or MSI versions.

For Lync 2010 and previous client versions we need to modify from lync.exe to communicator.exe:

(Get-ItemProperty -path “HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths\communicator.exe”).”(Default)” | ForEach-Object {Get-ChildItem -Path $_ | Select-Object -ExpandProperty VersionInfo | Select FileDescription,ProductVersion} | ft -autosize

Lync/SfB Server: Stop Front End service in Starting state

Some of the cases we work have the Front End service in a Starting state:

In PowerShell the status is StartPending:

We cannot stop it on the Services Management Console:

We can go to Task Manager and try to manual stop the service:

If that doesn’t work we need to Go to Details and End task that is associated with the service:

Another simple way to stop all Starting services is by using the following PowerShell cmdlet. We will get a prompt for each service:

Get-Service | ?{$_.Status -eq “StartPending”} | Stop-process

Get-Service
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.management/get-service

Stop-Process
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.management/stop-process

Skype for Business on Mac Update List: August 2018

Here is the update list for the Skype for Business on Mac:

Download the latest update for Skype for Business on Mac

Version Release Date
16.20.0.90 August 13, 2018
16.19.0.132 July 13, 2018
16.18.0.51 June 7, 2018
16.17.0.65 May 9, 2018
16.16.0.102 April 3, 2018
16.15.0.166 February 28, 2018
16.14.0.163 January 31, 2018
16.13.0.184 December 7, 2017
16.12.0.77 November 8, 2017
16.12.0.75 October 31, 2017
16.11.0.149 October 5, 2017
16.10.0.97 August 30, 2017
16.9.0.37 August 02, 2017
16.8.0.196 June 20, 2017
16.6.0.333 May 2, 2017
16.5.0.185 March 28, 2017
16.3.0.240 February 6, 2017
16.2.0.145 December 12, 2016
16.1.0.456 November 23, 2016
16.0.0.3638 October 27, 2016 (RTM)

Please also check the Known issues – Skype for Business on Mac.

If you were looking for the previous version here is the list:

Lync Mac 2011

Version Release Date KB Article
14.4.1 July 13, 2016 KB3175174
14.3.3 February 23, 2016 KB3139293
14.2.1 October 1, 2015 KB3098588
14.1.1 July 23, 2015 KB3074981
14.0.11 March 14, 2015 KB3037358
14.0.10 (Hotfix 1) December 3, 2014 KB3019983
14.0.10 October 29, 2014 KB3007876
14.0.9 (Hotfix 1) July 31, 2014 KB2979062
14.0.9 June 10, 2014 KB2963369
14.0.8 April 9, 2014 KB2952672
14.0.7 December 13, 2013 KB2909662
14.0.6 October 8, 2013 KB2888920
14.0.5 (Hotfix 1) September 4, 2013 KB2884053
14.0.5 June 6, 2013 KB2844274
14.0.4 (Hotfix 1) April 18, 2013 KB2836517
14.0.4 February 1, 2013 KB2778095
14.0.1 RTM NA