XenDesktop 7.5: Datenbank auf neuen SQL-Server migrieren

Vor kurzem stand ich vor der Aufgabe, in einer bestehenden XenDesktop 7.5-Umgebung die Konfigurations- und Protokolldatenbank auf einen neuen SQL-Server zu migrieren. Der dazu passende offizielle KC-Artikel von Citrix (http://support.citrix.com/article/CTX140319) war dabei leider nur bedingt hilfreich.

Zur Sicherheit hatte ich zunächst alle Bereitstellungsgruppen in den Wartungsmodus geschaltet und sämtliche VMs heruntergefahren. Der DB-Admin hat mir dann auf dem SQL-2008-Cluster ein Backup der DB gezogen und auf einem neuen SQL-2012-Cluster wieder eingespielt. Wichtig ist, dass hier die Berechtigungen für die Datenbank mit übernommen werden. Um ganz sicherzugehen, dass kein Zugriffsproblem vorliegt, kann man das Computerkonto des jeweiligen Desktop-Controllers, auf dem man gerade arbeitet, zum „db_owner“ machen. Dies ist wichtig, weil XenDesktop so arbeitet, dass es mit den Computerkonten der Controller auf die Datenbank zugreift und nicht mit der Kennung des XenDesktop-Admins.

Folgende Schritte habe ich für die Migration durchgeführt:

1. Anmeldung als XenDesktop-Volladministrator auf dem ersten Delivery-Controller

2. Starten der PowerShell

3. Citrix-Module laden mit „asnp Citrix*“

4. Logging und Monitoring deaktivieren

Set-LogSite -State „Disabled“

Set-MonitorConfiguration -DataCollectionEnabled $False

5. Verbindung mit der neuen Datenbank testen

$cs=“Server=ServerName; Initial Catalog=DBName; Integrated Security=True“
$cs
Test-AdminDBConnection -DBConnection $cs
Test-ConfigDBConnection -DBConnection $cs
Test-AcctDBConnection -DBConnection $cs
Test-HypDBConnection -DBConnection $cs
Test-ProvDBConnection -DBConnection $cs
Test-BrokerDBConnection -DBConnection $cs
Test-EnvTestDBConnection -DBConnection $cs
Test-LogDBConnection -DBConnection $cs
Test-MonitorDBConnection -DBConnection $cs
Test-SfDBConnection -DBConnection $cs

Alle Verbindungstests liefen erfolgreich durch.

6. DB-Verbindungen auf NULL setzen

Als nächstes muss man jede dieser Verbindungen auf „Null“ setzen, bevor ein neuer Wert eingetragen werden kann:

Set-ConfigDBConnection -DBConnection $null
Set-AcctDBConnection -DBConnection $null
Set-HypDBConnection -DBConnection $null
Set-ProvDBConnection -DBConnection $null
Set-BrokerDBConnection -DBConnection $null
Set-EnvTestDBConnection -DBConnection $null
Set-SfDBConnection -DBConnection $null
Set-MonitorDBConnection -DBConnection $null
Set-MonitorDBConnection -DataStore Monitor -DBConnection $null
Set-LogDBConnection -DBConnection $null
Set-LogDBConnection -DataStore Logging -DBConnection $null
Set-AdminDBConnection -DBConnection $null

Beim Versuch, die DB-Verbindung „AdminDBConnection“ auf „$null“ zu setzen, antwortete mir die PowerShell immer mit „There was a problem communicating with the Citrix Delegated Administration Service.“
Der im KC-Artikel vorgeschlagene Lösungsweg, einmal alle Citrix-Dienste auf dem DDC neu zu starten, hat zu keinem Erfolg geführt.
Wenn ich die „AdminDBConnection“ als erstes auf Null gesetzt habe (was auch funktioniert hat), meldete spätestens der Befehl „Set-EnvTestDBConnection -DBConnection $null“ denselben Fehler.

Die Lösung:
Die Befehle in folgender Reihenfolge durchführen und mit dem „-force“-Schalter ergänzen:

Set-AdminDBConnection -DBConnection $cs
Set-ConfigDBConnection -DBConnection $cs
Set-AcctDBConnection -DBConnection $cs
Set-HypDBConnection -DBConnection $cs
Set-ProvDBConnection -DBConnection $cs
Set-BrokerDBConnection -DBConnection $cs
Set-EnvTestDBConnection -DBConnection $cs -force
Set-LogDBConnection -DBConnection $cs -force
Set-MonitorDBConnection -DBConnection $cs -force
Set-SfDBConnection -DBConnection $cs -force

 

7. Logging und Monitoring umkonfigurieren

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.