XenDesktop 5 and Database Mirroring

Background:
We setup our two XenDekstop 5 Desktop Delivery Controllers (DDC) and then configured our new DDC SQL database to be mirrored.  As result, you must update the DDC's database connection.

A side note, you don't need to do this for Provisioning Services (PVS) since you can specific the failover mirror in the install wizard.  As result, just follow the PVS db setup best practices and the mirror ahead of time and your are all set. 

Additional Info:


Change XD5 Database Connection
http://support.citrix.com/article/CTX127538


DB Mirroring Best Practices
http://support.citrix.com/servlet/KbServlet/download/25938-102-649422/XD_Database_Mirroring_Best_Practices.pdf
 


PowerShell SDK Download
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=50633a1f-a665-425d-923c-1a269f8ac084
 
Our solution:
  1. Run Windows Powershell Module
  2. Run set executionpolicy unrestricted
  3. Run get-BrokerDBConnection (to see current connection)
  4. Run the following powershell cmdlet (Just replace the server names and database name in bold).
$MirroredConnectionString =
'Server=SQLServerA.test.com;Initial Catalog = CTX_XDDDC_5x; Integrated Security = True;
Failover Partner=SQLServerB.com'


$brokers = Get-BrokerController
foreach ($broker in $brokers)
{
$brokerDNSName = $broker.DNSName
Set-ConfigDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-ConfigDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-AcctDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-AcctDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-BrokerDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-BrokerDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-HypDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-HypDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-PvsVmDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-PvsVmDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-ProvDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-ProvDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
}


You only need to run this on one DDC.  To confirm that that the change took place.  Run get-BrokerDBConnection to see the update connection.

0 comments:

Post a Comment