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.
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
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.
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
- Verify that
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
Marco Klose works as a Technical Consultant, Architect and CTO focused on Application & Desktop virtualization as well as application delivery with the Citrix product portfolio. He is specialized in Citrix virtualization, Citrix networking and Microsoft products. He has +10 years experience and holds the latest Citrix certifications and is member of the Citrix Partner Expert Council EMEA (PTEC). Since 2021 he is also a Citrix Technology Advocate (CTA).