XenDesktop Upgrade: The SQL Server Express LocalDB version is lower than the minimum supported version

During an upgrade last week, I was facing an (maybe for someone old 🙂 ) issue and noticed that it is still not really common, what to do and why this error occurs. So I want just to share my experience and my steps.

Microsoft SQL Server Express LocalDB is a feature of SQL Server Express that Local Host Cache uses on a standalone basis. Local Host Cache does not require any components of SQL Server Express other than SQL Server Express LocalDB.

If you upgrading from a Delivery Controller version earlier than 1912 and then upgrade your deployment to version 1912 or later, Citrix does not automatically upgrade the SQL Server Express LocalDB version and during the installation process you are going to face this issue:

It shows: XenDesktop Upgrade: The SQL Server Express LocalDB version is lower than the minimum supported version.

So, now what to do and do we need:

The Citrix Virtual Apps and Desktops installation media (for the version you’ve upgraded to). The media contains a copy of Microsoft SQL Server Express LocalDB 2017 CU 16.

A copy of Windows Sysinternals tool that you download from Microsoft.

Procedure:

Complete the upgrade of your Citrix Virtual Apps and Desktops components, databases, and site. (Those database upgrades affect the site, monitoring, and configuration logging databases. They do not affect the Local Host Cache database that uses SQL Server Express LocalDB.)

On the Delivery Controller, download PsExec from Microsoft, contained in the sysinteral suite: https://docs.microsoft.com/de-de/sysinternals/downloads/sysinternals-suite) and extract the files on folder locally. I used C:\tools\Systineralsuite

Stop the Citrix High Availability Service.From the command prompt, run PsExec and switch to the Network Service account.

psexec -i -u "NT AUTHORITY\NETWORK SERVICE" cmd

Accept the License Agreement from sysinternals and wait for a second cmd window.

Here you can use whoami to confirm that the command prompt is running as the Network Service account.

whoami
nt authority\network service

Move to the folder containing SqlLocalDB.

cd "C:\Program Files\Microsoft SQL Server\120\Tools\Binn"

Stop and delete CitrixHA (LocalDB).

SqlLocalDB stop CitrixHA

SqlLocalDB delete CitrixHA

Remove the related files in C:\Windows\ServiceProfiles\NetworkService.

HADatabaseName.*

HADatabaseName_log.*

HAImportDatabaseName.*

Tip: Your deployment might not have HAImportDatabaseName.* and HAImportDatabaseName_log.*

Uninstall SQL Server Express LocalDB 2014 from the server, using the Windows feature for removing programs.

Install SQL Server Express LocalDB 2017. In the Support > SQLLocalDB folder on the Citrix Virtual Apps and Desktops installation media, double-click sqllocaldb.msi.

NOTE: In some cases you have to stop other services, like Citrix Licensing service, if installed on the same machine.

A restart might be requested to complete the installation. The new SQLLocalDB resides in C:\Program Files\Microsoft SQL Server\140\Tools\Binn.

  • If no restart was requested, start the Citrix High Availability Service
    • Ensure that the Local Host Cache database was created on each Delivery Controller. This confirms that the High Availability Service (secondary broker) can take over, if needed.
    • On the Controller server, browse to C:\Windows\ServiceProfiles\NetworkService
    • Verify that HaDatabaseName.mdf and HaDatabaseName_log.ldf are created.

Please find the original article in the Citrix docs: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/upgrade-migrate/upgrade.html#replace-sql-server-express-localdb

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.