Erweiterte Konzepte
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Update von Datenbankverbindungszeichenfolgen beim Verwenden von SQL Server-Hochverfügbarkeitslösungen

Citrix bietet mehrere PowerShell-Skripte, die XenApp- und XenDesktop-Datenbankverbindungszeichenfolgen aktualisieren, wenn Sie SQL Server Server-Datenbanklösungen mit hoher Verfügbarkeit wie Always On und Spiegelung verwenden.

Die Skripts, die die XenApp- und XenDesktop PowerShell-API verwenden, lauten:

  • DBConnectionStringFuncs.ps1: Das Kernskript, das die eigentliche Arbeit ausführt. Dieses Skript enthält allgemeine Funktionen, die die anderen Skripte verwenden.
  • Change_XD_Failover_Partner_v1.ps1: Aktualisiert (fügt, ändert oder entfernt) den Failoverpartner. Dieses Skript fordert die Angabe des Failover-Partnerstandorts (FQDN) für jede Datenbank auf. (Wenn Sie einen leeren Failoverpartner angeben, wird der Failoverpartner entfernt. Sie können auch die Option ClearPartner verwenden, um einen Partner zu entfernen.) Legen Sie den Failoverpartner nicht auf denselben Speicherort wie der Prinzipaldatenbankserver fest.
  • Change_XD_To_ConnectionString.ps1: Verwendet die bereitgestellten Verbindungszeichenfolgen, um die Verbindungszeichenfolgen für die Datenbanken zu aktualisieren. Dieses Skript stellt sicher, dass bestimmte Citrix Dienste verfügbar sind und ausgeführt werden, und aktualisiert diese Dienste dann in der richtigen Reihenfolge auf allen Controllern auf der Site. Schließen Sie Verbindungszeichenfolgeninformationen für jede Datenbank in Anführungszeichen ein.
  • Change_XD_TO_MultiSubnetFailover.ps1: Schaltet das Hinzufügen und Entfernen von MultiSubnetFailover=Trueum. Wenn Sie Always On Availability Groups verwenden, empfiehlt Microsoft, dass die Verbindungszeichenfolge multiSubnetFailover=True enthält. Diese Option beschleunigt die Wiederherstellung bei Auftreten eines Hochverfügbarkeitsereignisses und wird sowohl für Einzel- als auch für Multi-Subnetzumgebungen empfohlen. Führen Sie dieses Skript einmal aus, um die Option hinzuzufügen. Wenn Sie die Option entfernen müssen, verwenden Sie, Change_XD_To_ConnectionString.ps1 um das Skript erneut auszuführen und Strings ohne die Einstellung bereitzustellen.
  • Change_XD_To_Null.ps1: Setzt alle Verbindungszeichenfolgen auf dem lokalen Host zurück, weil ein Fehler aufgetreten ist. Durch das Zurücksetzen der Verbindungszeichenfolgen auf null versetzt dieses Skript den Controller in einen “anfänglichen” Zustand. Wenn Sie Studio nach dem Ausführen dieses Skripts ausführen, werden Sie gefragt, ob Sie eine Site erstellen oder einer vorhandenen Site beitreten möchten. Dies ist nützlich, wenn etwas schief gelaufen ist und ein Reset erforderlich ist. Nach dem Zurücksetzen können Sie erneut versuchen, die Verbindungszeichenfolgen mit Change_XD_To_ConnectionString.ps1 festzulegen.

Sie können Datenbankverbindungszeichenfolgen auch manuell aktualisieren; siehe Strings manuell aktualisieren. Informationen zum Herunterladen der PowerShell-Skripts finden Sie im Abschnitt Vorgehensweise .

Wichtig:

Dieser Artikel wurde geschrieben und die Skripts wurden auf XenDesktop 7.6 getestet. Diese Dokumentation wird nicht mehr mit späteren Versionen von Citrix Virtual Apps and Desktops gepflegt oder getestet.

Anforderungen und Überlegungen

  • Sie müssen ein vollständiger Site-Administrator sein, um die Skripts ausführen zu können.
  • Führen Sie die Skripts im PowerShell- Fenster eines Controllers aus. PowerShell v3 ist erforderlich.
  • Die XenApp- und XenDesktop-Kernkomponenten müssen installiert und die Site betriebsbereit sein.
  • Deaktivieren Sie vor dem Ausführen der Skripts die obligatorische Konfigurationsprotokollierung.
  • Die Option MultiSubnetFailover wird mit .NET 4.5 und höher unterstützt. Die MMC, die Studio auf Windows 7- oder 2008 R2-Computern verwendet, enthält jedoch eine frühere .NET-Version. Daher wird möglicherweise der Fehler „Keyword not supported: multisubnetfailover“ angezeigt, wenn Sie Configuration im Studio-Navigationsbereich auswählen. In solchen Fällen können Sie wie folgt patchen oder aktualisieren:

  • Für .NET 3.5 SP1, Patch mithttp://support.microsoft.com/kb/2654347.
  • Für .NET 4.0 wird ein Update auf mindestens 4.0.2 empfohlen. 4.0.3:http://support.microsoft.com/kb/2600211.

Verwenden Sie dann das Change_XD_To_MultiSubnetFailover.ps1 Skript, um die Datenbank-Verbindungszeichenfolgen mit dieser Option zu aktualisieren.

Prozedur

  1. Laden Sie die Zip-Datei mit den Skripten von Citrix ShareFileherunter.
  2. Entpacken Sie die Datei.
  3. Stellen Sie sicher, dass sich DBConnectionStringFuncs.ps1 im selben Ordner wie das ausgeführten Skript befindet, da das ausgeführten Skript Funktionen in DBConnectionStringFuncs.ps1 verwendet.
  4. Führen Sie das Skript auf einem Controller aus.

Wenn Sie Ihre Site auf Multi-Subnetz-Failover festlegen möchten, müssen Sie nur das Skript Change_XD_To_MultiSubnetFailover.ps1 ausführen. (Denken Sie daran: Stellen Sie sicher, dass sich das Skript DBConnectionStringFuncs.ps1 im selben Ordner befindet.)

Tipps:

  • Wenn die Verbindungszeichenfolgen aktualisiert werden, wird normalerweise eine Meldung angezeigt, die angibt, dassServer=SQLxxx\\CITRIX\\...”” in Data Source=SQLxxx\\CITRIX\\...“geändert wird. Die Begriffe Server und Datenquelle sind gleichbedeutend.
  • Wenn Sie die Verbindungszeichenfolgen bearbeiten möchten, schauen Sie sich an, wie die Change\_XD\_ Skripts die Funktionen in verwenden DBConnectionStringFuncs.ps1.

Strings manuell aktualisieren

Um die Zeichenfolgen manuell zu aktualisieren, führen Sie die XenApp- und XenDesktop PowerShell-Cmdlets aus.

Schritt 1. Verschieben Sie SQL-Datenbanken auf einen anderen SQL-Server und weisen Sie die richtigen Berechtigungen zu

  1. Sichern Sie die Datenbanken auf dem ursprünglichen SQL-Server und stellen Sie sie auf dem neuen SQL-Server wieder her.
  2. Fügen Sie unter SQL Management Studio > Sicherheit > Anmeldungendie Delivery Controller-Computerkonten hinzu. Beispiel: CORP\DDC01$.
  3. Klicken Sie beim Hinzufügen der SQL-Anmeldung auf der Seite Benutzerzuordnung auf die drei Citrix-Datenbanken: Standortdatenbank, Überwachungsdatenbank und Protokollierungsdatenbank.
  4. Fügen Sie für jede der drei Citrix Datenbanken das Delivery Controller-Computerkonto den verschiedenen Datenbankrollen hinzu. Die Site-Datenbank hat viel mehr Rollen als die Protokollierungs- und Überwachungsdatenbanken.
Site database - ADIdentitySchema_ROLE Site database - Analytics_ROLE # for 7.8 and newer Site database - AppLibrarySchema_ROLE # for 7.8 and newer Site database - chr_Broker Site database - chr_Controller Site database - ConfigLoggingSiteSchema_ROLE Site database - ConfigurationSchema_ROLE Site database - DAS_ROLE Site database - DesktopUpdateManagerSchema_ROLE Site database - EnvTestServiceSchema_ROLE Site database - HostingUnitServiceSchema_ROLE Site database - Monitor_ROLE Site database - OrchestrationSchema_ROLE # for 7.11 and newer Site database - public Site database - StorefrontSchema_ROLE # for 7.8 and newer Site database - TrustSchema_ROLE # for 7.11 and newer Monitoring database - Monitor_ROLE Monitoring database - public Logging database - ConfigLoggingSchema_ROLE Logging database - public

Schritt 2. Abrufen der vorhandenen Datenbankverbindungen (optional)

Führen Sie die folgenden Befehle aus, um die vorhandenen Datenbankverbindungszeichenfolgen anzuzeigen:

## Load the Citrix snap-ins asnp Citrix.* ## Get the current Delivery Controller database connections Get-ConfigDBConnection Get-AcctDBConnection Get-AnalyticsDBConnection # for 7.6 and newer Get-AppLibDBConnection # for 7.8 and newer Get-OrchDBConnection # for 7.11 and newer Get-TrustDBConnection # for 7.11 and newer Get-HypDBConnection Get-ProvDBConnection Get-BrokerDBConnection Get-EnvTestDBConnection Get-SfDBConnection Get-MonitorDBConnection Get-MonitorDBConnection -DataStore Monitor Get-LogDBConnection Get-LogDBConnection -DataStore Logging Get-AdminDBConnection

Schritt 3. Entfernen der vorhandenen Datenbankverbindungen

Öffnen Sie PowerShell auf dem Delivery Controllerals Administrator und führen Sie die folgenden Befehle aus. Dieser Prozess löscht die vorhandenen Datenbankverbindungen.

## Note the state of the log site Get-LogSite ## Load the Citrix snap-ins asnp Citrix.* ## Disable configuration logging for the XD site: Set-LogSite -State Disabled ## Clear the current Delivery Controller database connections ## Note: AdminDBConnection must be the last command Set-ConfigDBConnection -DBConnection $null -Force Set-AcctDBConnection -DBConnection $null -Force Set-AnalyticsDBConnection -DBConnection $null -Force # for 7.6 and newer Set-AppLibDBConnection -DBConnection $null -Force # for 7.8 and newer Set-OrchDBConnection -DBConnection $null -Force # for 7.11 and newer Set-TrustDBConnection -DBConnection $null -Force # for 7.11 and newer Set-HypDBConnection -DBConnection $null -Force Set-ProvDBConnection -DBConnection $null -Force Set-BrokerDBConnection -DBConnection $null Set-EnvTestDBConnection -DBConnection $null -Force Set-SfDBConnection -DBConnection $null -Force Set-MonitorDBConnection -DataStore Monitor -DBConnection $null -Force Set-MonitorDBConnection -DBConnection $null -Force Set-LogDBConnection -DataStore Logging -DBConnection $null -Force Set-LogDBConnection -DBConnection $null -Force Set-AdminDBConnection -DBConnection $null -Force

Wenn eine Fehlermeldung angezeigt wird, müssen Sie alle Citrix Dienste neu starten.

Get-Service Citrix* | Stop-Service -Force Get-Service Citrix* | Start-Service

Wenn nach dem Neustart der Citrix Dienste die Fehler weiterhin angezeigt werden, müssen Sie den Server neu starten. Führen Sie den ursprünglichen Befehlssatz neu aus, um zu bestätigen, dass die vorhandene Verbindung ordnungsgemäß entfernt wurde.

Die folgenden Cmdlets müssen eine leere Ausgabe zurückgeben:

## Load the Citrix snap-ins asnp Citrix.* ## Get the current Delivery Controller database connections Get-ConfigDBConnection Get-AcctDBConnection Get-AnalyticsDBConnection # for 7.6 and newer Get-AppLibDBConnection # for 7.8 and newer Get-OrchDBConnection # for 7.11 and newer Get-TrustDBConnection # for 7.11 and newer Get-HypDBConnection Get-ProvDBConnection Get-BrokerDBConnection Get-EnvTestDBConnection Get-SfDBConnection Get-MonitorDBConnection Get-LogDBConnection Get-AdminDBConnection

Schritt 4. Angeben der neuen Datenbankverbindungszeichenfolgen

Passen Sie die Variablen an die gewünschte Verbindungszeichenfolge an.

  • Für die eigenständige SQL Server-Verbindungszeichenfolge:Server=SQLServerName; Initial Catalog=DBName; Integrated Security=True
  • Für die Verbindungszeichenfolge der Datenbankspiegelung: Server=PrimarySQLServerName; Initial Catalog=DBName; Integrated Security=True; Failover Partner=SecondSQLServer
  • Für Always on High Availability: Server=ListenerName; Initial Catalog=XDdb; Integrated Security=True; MultiSubnetFailover=True

Führen Sie die folgenden Befehle aus, um die neuen Verbindungszeichenfolgen festzulegen.

$ServerName = "<dbserver>" $SiteDBName = "<SiteDbName>" $LogDBName = "<LoggingDbName>" $MonitorDBName = "<MonitorDbName>" $csSite = "Server=$ServerName;Initial Catalog=$SiteDBName;Integrated Security=True" $csLogging = "Server=$ServerName;Initial Catalog=$LogDBName;Integrated Security=True" $csMonitoring = "Server=$ServerName;Initial Catalog=$MonitorDBName;Integrated Security=True" Set-AdminDBConnection -DBConnection $csSite Set-ConfigDBConnection -DBConnection $csSite Set-AcctDBConnection -DBConnection $csSite Set-AnalyticsDBConnection -DBConnection $csSite # for 7.6 and newer Set-HypDBConnection -DBConnection $csSite Set-ProvDBConnection -DBConnection $csSite Set-AppLibDBConnection –DBConnection $csSite # for 7.8 and newer Set-OrchDBConnection –DBConnection $csSite # for 7.11 and newer Set-TrustDBConnection –DBConnection $csSite # for 7.11 and newer Set-BrokerDBConnection -DBConnection $csSite Set-EnvTestDBConnection -DBConnection $csSite Set-SfDBConnection -DBConnection $csSite Set-LogDBConnection -DBConnection $csSite Set-LogDBConnection -DataStore Logging -DBConnection $null -force Set-LogDBConnection -DataStore Logging -DBConnection $csLogging Set-MonitorDBConnection -DBConnection $csSite Set-MonitorDBConnection -DataStore Monitor -DBConnection $null -force Set-MonitorDBConnection -DataStore Monitor -DBConnection $csMonitoring ## If necessary, enable configuration logging for the XD site: Set-LogSite -State Enabled

Hinweis:

Stellen Sie sicher, dass alle vorangegangenen Set-<service>DBConnection-Befehle das Ergebnis OK zurückgegeben haben. Wenn das Ergebnis für einen dieser Befehle nicht OK ist, kann es erforderlich sein, die Protokollierung oder Ablaufverfolgung zu aktivieren, um die Ursache des Verbindungsfehlers zu ermitteln.

Die Befehle Set-LogDBConnection -DBConnection $null und Set-MonitorDBConnection -DBConnection $null geben DBUnconfigured anstelle von OK zurück.

Schritt 5. Testen der neuen Datenbankverbindungszeichenfolgen

  1. Führen Sie die folgenden Befehle aus, um die Konnektivität mit der Datenbank zu überprüfen.

    ## Load the Citrix snap-ins asnp citrix.* $ServerName = "<dbserver>" $SiteDBName = "<SiteDbName>" $LogDBName = "<LoggingDbName>" $MonitorDBName = "<MonitorDbName>" $csSite = "Server=$ServerName;Initial Catalog=$SiteDBName;Integrated Security=True" $csLogging = "Server=$ServerName;Initial Catalog=$LogDBName;Integrated Security=True" $csMonitoring = "Server=$ServerName;Initial Catalog=$MonitorDBName;Integrated Security=True" Test-AcctDBConnection -DBConnection $csSite Test-AdminDBConnection -DBConnection $csSite Test-AnalyticsDBConnection -DBConnection $csSite # for 7.6 and newer Test-AppLibDBConnection -DBConnection $csSite # for 7.8 and newer Test-BrokerDBConnection -DBConnection $csSite Test-ConfigDBConnection -DBConnection $csSite Test-EnvTestDBConnection -DBConnection $csSite Test-HypDBConnection -DBConnection $csSite Test-LogDBConnection -DBConnection $csSite Test-LogDBConnection -DataStore Logging -DBConnection $csLogging Test-MonitorDBConnection -DBConnection $csSite Test-MonitorDBConnection -Datastore Monitor -DBConnection $csMonitoring Test-OrchDBConnection -DBConnection $csSite # for 7.11 and newer Test-ProvDBConnection -DBConnection $csSite Test-SfDBConnection -DBConnection $csSite Test-TrustDBConnection -DBConnection $csSite # for 7.11 and newer
  2. Starten Sie Citrix Studio neu.

Weitere Informationen

Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
Update von Datenbankverbindungszeichenfolgen beim Verwenden von SQL Server-Hochverfügbarkeitslösungen