Site icon BLOGS

Upgrading or Replacing the SQL Local DB for Local Host Cache for 1912 CU1

by Ray Davis

There has been some recent change to the LTSR article around Local Host Cache upgrades:

https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/upgrade-migrate/upgrade.html#replace-sql-server-express-localdb


As you can see here, at one time it stated that you needed to upgrade, or it would not work. However, it doesn’t seem that it 100% the case anymore. I think that’s why Citrix updated the doc. 

Also as you can see here, some had the same concerns or questions around it. I most certainly did. 

  1. So, let’s get started. I always do a snapshot first, which is completed. 
  2. 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.)
  3. As you can see, I am on 1912 CU1 and have MSQL Express 2014.
  1. On the Delivery Controller, download PsExec from Microsoft. See the Microsoft document PsExec v2.2.
  1. Stop the Citrix High Availability Service
  1. Open CMD as Admin and open PsExec.exe
psexec -i -u “NT AUTHORITY\NETWORK SERVICE” cm
  1. Move to the folder containing SqlLocalDB.
cd “C:\Program Files\Microsoft SQL Server\120\Tools\Binn”
  1. Stop and delete CitrixHA (LocalDB).  If you don’t stop it, you will get this error (me not paying attention):
SqlLocalDB stop CitrixHA

SqlLocalDB delete CitrixHA
  1. Remove the related files in C:\Windows\ServiceProfiles\NetworkService
  1. Uninstall SQL Server Express LocalDB 2014 from the server, using the Windows feature for removing programs:

  1. Install SQL Server Express LocalDB 2017. In the Support > SQLLocalDB folder on the Citrix Virtual Apps and Desktops installation media, double-click sqllocaldb.msi
  1. Reboot the server and make sure this is started “Citrix High Availability Service.”
  1. Logged on, and it took about 15 seconds to show up.
  1. Then 60 seconds or so on this
  1. Check if the CitrixHA Db is created. CitrixHA is re-created the next time configuration sync occurs. After a minute or two, use the SqlLocalDB utility to confirm that CitrixHA has been re-created.
SqlLocalDB i

CitrixHA

MSSQLLocalDB


Example:
While still in the PsExec session run this:

C:\Program Files\Microsoft SQL Server\120\Tools\Binn>
SqlLocalDB i

CitrixHA

MSSQLLocalDB
  1. You will see this until you do the second broker:
  1. After I did my second Broker this was in the logs
  1. But then, I see this almost every 2 minutes. I remember reading about this. But I thought it was fixed many versions ago. 

Did some google on the Errors and came up with the 2 links below:

https://support.citrix.com/article/CTX230775


LHC DB upgrade reference:

https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/upgrade-migrate/upgrade.html#replace-sql-server-express-localdb

Turns out some AD account was deleted over time, and it had some bad SIDs. So, I ran the quick script, to get the output.

Get-BrokerApplication |foreach {if ($_.AssociatedUserNames -match “S-1-5-21”) {$_.Name; $_.AssociatedUserNames -match “S-1-5-21”; “”}}

I went into Studio and deleted them from the location it displayed above. Which was in Published application visibility. Then, based on CTX230775, I needed to redo the LHC DB. So I quickly ran through the process and it fixed the error. 

In summary, this is how I upgraded the LHC DB and some minor troubleshooting. Hope it helps someone.

Thanks again for all the help and tips I’ve received from everyone on Slack. 
Also check out Citrix Heroes, a dedicated site for people like us: https://community.citrixhero.com/

Exit mobile version