Konfigurieren von Integration Services in einer Clusterumgebung

Neu: 15. September 2007

Der Integration Services-Dienst ist kein Clusterdienst oder clusterabhängiger Dienst, und ein Failover von einem Clusterknoten auf einen anderen wird nicht unterstützt. In einer Clusterumgebung sollte Integration Services deshalb auf jedem Knoten des Clusters als eigenständiger Dienst installiert und gestartet werden.

ms345193.note(de-de,SQL.90).gifWichtig:
Microsoft empfiehlt nicht, den Integration Services-Dienst als Clusterressource zu konfigurieren.

Obwohl der Integration Services-Dienst kein gruppierter Dienst ist, können Sie den Dienst nach der separaten Installation von Integration Services auf jedem Knoten des Clusters manuell so konfigurieren, dass er als Clusterressource fungiert. Für Kunden, die zu dem Schluss kommen, dass diese Konfiguration mehr Vor- als Nachteile hat, enthält dieses Thema Anweisungen zum Konfigurieren des Dienstes als Clusterressource.

Wenn das Ziel beim Einrichten einer Hardware-Clusterumgebung jedoch eine hohe Verfügbarkeit ist, können Sie dieses Ziel erreichen, ohne den Integration Services-Dienst als Clusterressource zu konfigurieren. Um die Pakete auf einem Knoten im Cluster zu verwalten, ändern Sie die Konfigurationsdatei für den Integration Services-Dienst auf jedem Knoten im Cluster. Ändern Sie jede dieser Konfigurationsdateien so, dass sie auf alle verfügbaren Instanzen von SQL Server zeigen, auf denen Pakete gespeichert sind. Diese Lösung stellt die hohe Verfügbarkeit bereit, die die meisten Kunden benötigen, ohne die potenziellen Probleme aufzuwerfen, die auftreten, wenn der Integration Services-Dienst als Clusterressource konfiguriert ist. Weitere Informationen zum Ändern der Konfigurationsdatei finden Sie unter Konfigurieren des SQL Server Integration Services-Dienstes.

Grundlegendes zur Rolle des Integration Services-Dienstes

Sie müssen die Rolle des Integration Services-Dienstes unbedingt verstehen, um eine fundierte Entscheidung darüber treffen zu können, wie der Dienst in einer Clusterumgebung konfiguriert werden muss.

Der Integration Services-Dienst unterstützt die Verwaltungsschnittstelle in SQL Server Management Studio zum Auflisten, Starten, Stoppen, Überwachen, Importieren und Exportieren von Integration Services-Paketen. Der Integration Services-Dienst ist zum Entwerfen von Paketen nicht erforderlich. Der Integration Services-Dienst ist zum Ausführen von Paketen oder zum Planen von SQL Server-Agentaufträgen, die Pakete ausführen, ebenfalls nicht erforderlich.

Im Folgenden sind einige der Aufgaben aufgelistet, die Sie selbst dann ausführen können, wenn der Integration Services-Dienst nicht ausgeführt wird.

  • Entwerfen und Ausführen von Paketen in Business Intelligence Development Studio.
  • Ausführen von Paketen mithilfe des Befehlszeilenprogramms dtexec (dtexec.exe), des Paketausführungsprogramms (dtexecui.exe), des SQL Server-Agents oder des Import-/Export-Assistenten von SQL Server.
  • Auflisten von Paketen, die in der msdb-Datenbank gespeichert sind, über eine Transact-SQL-Abfrage und Auflisten von Paketen, die im Dateisystem gespeichert sind, über Windows-Explorer.
  • Erstellen und Ausführen von Aufträgen des SQL Server-Agents und von Wartungsplänen.

Grundlegendes zu den Nachteilen einer Konfiguration von Integration Services als Clusterressource

Im Folgenden sind einige der Nachteile aufgeführt, die eine Konfiguration des Integration Services-Dienstes als Clusterressource haben kann:

  • Bei einem Failover werden ausgeführte Pakete nicht neu gestartet. Sie können eine Wiederherstellung nach einem Paketfehler ausführen, indem Sie die Pakete ausgehend von Prüfpunkten neu starten. Sie müssen den Dienst dazu nicht als Clusterressource zu konfigurieren. Weitere Informationen finden Sie unter Verwenden von Prüfpunkten in Paketen.
  • Wenn Sie den Integration Services-Dienst in einer anderen Ressourcengruppe als SQL Server konfigurieren, können Sie Management Studio nicht auf Clientcomputern verwenden, um in der msdb-Datenbank gespeicherte Pakete zu verwalten. Der Integration Services-Dienst kann keine Anmeldeinformationen in diesem Doppelhopszenario delegieren.
  • Ein Failover könnte zu unerwarteten Ergebnissen führen, wenn Sie über mehrere SQL Server-Ressourcengruppen verfügen, in denen der Integration Services-Dienst in einem Cluster enthalten ist. Nehmen Sie das folgende Szenario als Beispiel. Gruppe 1, die den SQL Server-Dienst und den Integration Services-Dienst umfasst, wird auf Knoten A ausgeführt. Gruppe 2, die den SQL Server-Dienst und den Integration Services-Dienst ebenfalls umfasst, wird auf Knoten B ausgeführt. Gruppe 2 führt einen Failover zu Knoten A aus. Der Versuch, eine weitere Instanz des Integration Services-Dienstes auf Knoten A auszuführen, schlägt fehl, weil es sich bei dem Integration Services-Dienst um einen Einzelinstanzdienst handelt. Ob der SQL Server-Dienst, der einen Failover zu Knoten A auszuführen versucht, ebenfalls fehlschlägt, hängt von der Konfiguration des Integration Services-Dienstes in Gruppe 2 ab. Wenn der Integration Services-Dienst so konfiguriert wurde, dass er sich auf die anderen Dienste in der Ressourcengruppe auswirkt, schlägt der SQL Server-Dienst, der ein Failover ausführt, fehl, weil der Integration Services-Dienst fehlgeschlagen ist. Wenn der Dienst so konfiguriert wurde, dass er sich nicht auf die anderen Dienste in der Ressourcengruppe auswirkt, kann der SQL Server-Dienst ein Failover zu Knoten A ausführen.

Konfigurieren des Integration Services-Dienstes als Clusterressource

Dieser Abschnitt enthält die erforderlichen Konfigurationsanweisungen für Kunden, die zu dem Schluss kommen, dass die Vorteile einer Konfiguration des Integration Services-Dienstes als Clusterressource größer sind als die Nachteile einer solchen Konfiguration. Microsoft empfiehlt jedoch nicht, den Integration Services-Dienst als Clusterressource zu konfigurieren.

Führen Sie die folgenden Schritte aus, um den Integration Services-Dienst als Clusterressource zu konfigurieren:

  • Installieren Sie Integration Services auf einem Cluster.
  • Konfigurieren Sie Integration Services als Clusterressource.
  • Konfigurieren Sie den Integration Services-Dienst und -Paketspeicher.
  • Schalten Sie den Integration Services-Dienst als Clusterressource online.

Installieren von Integration Services auf einem Cluster

Zur Installation von Integration Services auf einem Cluster müssen Sie Integration Services auf jedem Knoten im Cluster installieren.

So installieren Sie Integration Services auf einem Cluster

  1. Installieren und konfigurieren Sie einen Cluster mit einem oder mehreren Knoten.

  2. (Optional) Installieren Sie gruppierte Dienste, z. B. SQL Server-Datenbankmodul.

  3. Installieren Sie Integration Services auf jedem Knoten des Clusters.

Konfigurieren von Integration Services als Clusterressource

Wenn Integration Services auf jedem Knoten im Cluster installiert ist, müssen Sie Integration Services konfigurieren: Wenn Sie den Integration Services-Dienst als Clusterressource konfigurieren, können Sie den Dienst derselben Ressourcengruppe wie SQL Server-Datenbankmodul oder einer anderen Gruppe hinzufügen. In der folgenden Tabelle werden die möglichen Vor- und Nachteile beschrieben, die mit der Auswahl einer Ressourcengruppe verbunden sind.

Wenn Integration Services und SQL Server in der gleichen Ressourcengruppe sind Wenn Integration Services und SQL Server in der verschiedenen Ressourcengruppen sind

Clientcomputer können mit SQL Server Management Studio in der msdb-Datenbank gespeicherte Pakete verwalten, weil sowohl der SQL Server-Datenbankmodul-Dienst als auch der Integration Services-Dienst auf demselben virtuellen Server ausgeführt werden. Diese Konfiguration vermeidet die Delegationsprobleme des Doppelhopszenarios.

Clientcomputer können SQL Server Management Studio nicht verwenden, um in der msdb-Datenbank gespeicherte Pakete zu verwalten. Der Client kann eine Verbindung mit dem virtuellen Server herstellen, auf dem der Integration Services-Dienst ausgeführt wird. Der Computer kann die Anmeldeinformationen des Benutzers jedoch nicht an den virtuellen Server delegieren, auf dem SQL Server ausgeführt wird. Dies wird als Doppelhopszenario bezeichnet.

Der Integration Services-Dienst konkurriert mit anderen SQL Server-Diensten um CPU- und andere Computerressourcen.

Der Integration Services-Dienst teilt sich keine CPU- und anderen Computerressourcen mit anderen SQL Server-Diensten, weil die anderen Ressourcengruppen auf anderen Knoten konfiguriert sind.

Das Laden und Speichern von Paketen in der msdb-Datenbank ist schneller und generiert weniger Netzwerkverkehr, weil beide Dienste auf demselben Computer ausgeführt werden.

Das Laden und Speichern von Paketen in der msdb-Datenbank ist möglicherweise langsamer und generiert mehr Netzwerkverkehr.

Beide Dienste sind gleichzeitig online oder offline.

Der Integration Services-Dienst könnte online sein, während SQL Server-Datenbankmodul offline ist. Dadurch sind die in der msdb-Datenbank von SQL Server-Datenbankmodul gespeicherten Pakete nicht verfügbar.

Der Integration Services-Dienst kann nicht bei Bedarf schnell zu einem anderen Knoten verschoben werden.

Der Integration Services-Dienst kann bei Bedarf schneller zu einem anderen Knoten verschoben werden.

Wenn Sie sich für eine Ressourcengruppe entschieden haben, der Integration Services hinzugefügt werden soll, müssen Sie Integration Services als Clusterressource in dieser Gruppe hinzufügen.

So konfigurieren Sie Integration Services als Clusterressource

  1. Öffnen Sie die Clusterverwaltung.

  2. Wählen Sie in der Konsolenstruktur den Gruppenordner aus.

  3. Wählen Sie im Ergebnisbereich die Gruppe aus, der Sie Integration Services hinzufügen möchten:

    • Um Integration Services derselben Ressourcengruppe wie SQL Server als Clusterressource hinzuzufügen, wählen Sie die Gruppe aus, zu der SQL Server gehört.
    • Um Integration Services einer anderen Ressourcengruppe als SQL Server als Clusterressource hinzuzufügen, wählen Sie eine andere Gruppe als die Gruppe aus, zu der SQL Server gehört.
  4. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Ressource.

  5. Geben Sie auf der Seite Neue Ressource des Ressourcen-Assistenten einen Namen ein, und wählen Sie Allgemeiner Dienst für Diensttyp aus. Ändern Sie den Wert für Group nicht. Klicken Sie auf Next.

  6. Fügen Sie auf der Seite Possible Owners die Knoten des Clusters als mögliche Besitzer der Ressource hinzu, oder entfernen Sie sie. Klicken Sie auf Next.

  7. Um Abhängigkeiten auf der Seite Abhängigkeiten hinzuzufügen, wählen Sie unter Verfügbare Ressourcen eine Ressource aus, und klicken Sie dann auf Hinzufügen. Im Falle eines Failovers sollten sowohl SQL Server als auch der freigegebene Datenträger mit den Integration Services-Paketen wieder online geschaltet werden, bevor Integration Services online geschaltet wird. Nachdem Sie die Abhängigkeiten ausgewählt haben, klicken Sie auf Next.

  8. Geben Sie auf der Seite Generic Service ParametersMsDtsServer als Namen des Dienstes ein. Klicken Sie auf Next.

  9. Klicken Sie auf der Seite Registrierungsreplikation auf Hinzufügen, um den Registrierungsschlüssel hinzuzufügen, der den Speicherort der Konfigurationsdatei für den Integration Services-Dienst identifiziert. Diese Datei muss sich auf einem freigegebenen Datenträger befinden, der sich in derselben Ressourcengruppe wie der Integration Services-Dienst befindet.

  10. Geben Sie im Dialogfeld RegistrierungsschlüsselSOFTWARE\Microsoft\MSDTS\ServiceConfigFile ein. Klicken Sie auf OK und dann auf Fertig stellen.

  11. Der Integration Services-Dienst wurde nun als Clusterressource hinzugefügt.

Konfigurieren des Integration Services-Dienstes und -Paketspeichers

Nachdem Sie Integration Services als Clusterressource konfiguriert haben, müssen Sie den Speicherort und den Inhalt der Konfigurationsdatei für den Integration Services-Dienst auf jedem Knoten im Cluster ändern. Bei einem Failover machen diese Änderungen sowohl die Konfigurationsdatei als auch den Paketspeicher für alle Knoten verfügbar. Nachdem Sie den Speicherort und den Inhalt der Konfigurationsdatei geändert haben, müssen Sie den Dienst online schalten.

So konfigurieren Sie Integration Services-Dienst und -Paketspeicher

  1. Suchen Sie die Konfigurationsdatei unter %ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\MsDtsSrvr.ini.xml. Kopieren Sie sie auf den freigegebenen Datenträger für die Gruppe, der Sie den Integration Services-Dienst hinzugefügt haben.

  2. Erstellen Sie auf dem freigegebenen Datenträger einen neuen Ordner mit dem Namen Packages, der als Paketspeicher dienen soll. Erteilen Sie den entsprechenden Benutzern und Gruppen Berechtigung zum Auflisten von Ordnern und Schreibberechtigung für den neuen Ordner.

  3. Öffnen Sie die Konfigurationsdatei auf dem freigegebenen Datenträger in einem Text- oder XML-Editor. Ändern Sie den Wert des ServerName-Elements in den Namen für den virtuellen SQL Server, der sich in derselben Ressourcengruppe befindet.

  4. Ändern Sie den Wert des StorePath-Elements in den vollqualifizierten Pfad des Ordners Packages, der in einem vorangehenden Schritt auf dem freigegebenen Datenträger erstellt wurde.

  5. Aktualisieren Sie den Wert von HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS\ServiceConfigFile in der Registrierung auf den vollqualifizierten Pfad und Dateinamen der Dienstkonfigurationsdatei auf dem freigegebenen Datenträger.

So schalten Sie den Integration Services-Dienst online

  • Wählen Sie in der Clusterverwaltung den Integration Services-Dienst aus, klicken Sie mit der rechten Maustaste, und wählen Sie im Popupmenü Online schalten aus. Der Integration Services-Dienst ist nun als Clusterressource online.

Herstellen einer Verbindung mit Integration Services in einer Clusterumgebung

Nach dem Konfigurieren des Integration Services-Dienstes auf einem Cluster oder auf einem beliebigen Server müssen Sie möglicherweise DCOM-Berechtigungen konfigurieren, bevor Sie die Verbindung mit dem Dienst von einem Clientcomputer herstellen können. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Integration Services auf einem Remoteserver.

Der Integration Services-Dienst kann keine Anmeldeinformationen delegieren. Daher können Sie in der msdb-Datenbank gespeicherte Pakete nicht mit Management Studio verwalten, wenn die folgenden Bedingungen zutreffen:

  • Integration Services-Dienst und SQL Server werden auf separaten Servern oder virtuellen Servern ausgeführt.
  • Der Client, auf dem SQL Server Management Studio ausgeführt wird, ist ein dritter Computer.

Der Client kann eine Verbindung mit dem virtuellen Server herstellen, auf dem der Integration Services-Dienst ausgeführt wird. Der Computer kann die Anmeldeinformationen des Benutzers jedoch nicht an den virtuellen Server delegieren, auf dem SQL Server ausgeführt wird. Dies wird als Doppelhopszenario bezeichnet.