Whilst building a test lab for Xenapp 6.5 I built a seperate server to host the database, license server, and the Web interface. However when configuring my Xenapp Session Hosts to connect to the Database I was greeted with the error :
The test failed for the following reason: Network-related or instance-specific error. Check to see if the Database server name needs an SQL instance name as well
When using SQL Express 2012 for some reason it defaults the SQL port to a dynamic value which changes all the time. We need to set this value to a static value of 1433.
To do this login to your SQL 2012 Express server and then open SQL Server Configuration Manager.
Once in there branch out SQL Server Network Configuration. Under there you will see the one for your SQL instance. My instance is called SQLEXPRESS. Left click on it and then on the right you will see Shared Memory, Named Pipes, TCP/IP. Enable them all by right clicking on them and then selecting enable. Now right click on TCP-IP and click properties.
Click on the IP Addresses tab. Here you will see under TCP Port no value.
This means that its dynamic. Enter a value of 1433 in there and then click ok.
Restart the SQL Instance Service now and try again. All should be well.