Configuring Citrix CloudGateway Express / Storefront services 1.1 for native SQL authentication.
One of my quibbles with Cloud Gateway is the database connection method. By default (and as per the edocs) CloudGateway Express will attempt to connect to the backed SQL database as the computer account on which Storefront services is running.
Citrix recommend you create a local user group on the SQL server and place the computer account in here… Wait.. what?
If you are running an SQL cluster, this will create a bit of a headache, as in a database failover event, the local group may not exist on the node onto which the cluster has failed to. Running into this event first hand, I decided to investigate how to change this connection string to an SQL account.
My first clue, came in the form of the Citrix edocs, with this document here, Citrix describe how to configure database failover for the store service. The connection string is stored in C:\inetpub\wwwroot\Citrix\<storename>\web.config
Now that we know where the connection string lives, it should simply be a case of modifying this string to suit ourselves!
Open the above file, and search for “DazzleResources.DataSource“
Paste in the below, replacing the string and modify the bolded items below:
<add name="DazzleResources.DataSource" connectionString="Integrated Security=SSPI;server=servername\instance ; Database=cloudgateway ; user id=sa ;Password=Password;Trusted_Connection=False" providerName="System.Data.SqlClient" />
Once complete, restart the Receiver Storefront server. Then open the console again. You should now see the updated connection string (in clear text sadly) on the store:
Note: theres no reason you couldnt use an AD account for this either. But the plain text view of this string sucks to be honest.