Konfigurieren von Integration Services in einem Cluster

Für Integration Services ist Clustering nicht zu empfehlen, da es sich beim Integration Services-Dienst nicht um einen Cluster- oder clusterfähigen Dienst handelt und dieser keine Failoverunterstützung zwischen Clusterknoten bietet. In einer Clusterumgebung sollte Integration Services deshalb auf jedem Knoten im Cluster als eigenständiger Dienst installiert und gestartet werden.

Wichtiger HinweisWichtig

Microsoft rät von einer Konfiguration des Integration Services-Diensts als Clusterressource ab.

Auch wenn der Integration Services-Dienst kein Clusterdienst ist, können Sie den Dienst manuell so konfigurieren, dass er das Clusterressource ausgeführt wird, wenn Sie Integration Services separat auf den einzelnen Clusterknoten installiert haben. Kunden, für die die Vorteile einer solchen Konfiguration die Nachteile überwiegen, finden in diesem Thema Anweisungen zum Konfigurieren des Diensts als Clusterressource.

Wenn jedoch mit der Erstellung einer gruppierten Hardwareumgebung eine hohe Verfügbarkeit erzielt werden soll, dann müssen Sie dazu den Integration Services-Dienst nicht als Clusterressource konfigurieren. Um die Pakete auf einem beliebigen Knoten im Cluster von einem beliebigen anderen Knoten des Clusters aus zu verwalten, müssen Sie die Konfigurationsdatei für den Integration Services-Dienst auf jedem Knoten im Cluster ändern. Sie müssen diese Konfigurationsdatei ändern, um auf alle verfügbaren Instanzen von SQL Server verweisen zu können, auf denen Pakete gespeichert sind. Mit dieser Lösung kann die hohe Verfügbarkeit bereitgestellt werden, die die meisten Kunden benötigen, ohne dass die Probleme auftreten, zu denen es kommen kann, wenn der Integration Services-Dienst als Clusterressource konfiguriert wird. Weitere Informationen zum Ändern der Konfigurationsdatei finden Sie unter Konfigurieren des Integration Services (SSIS)-Diensts.

Grundlegendes zur Rolle des Integration Services-Diensts

Um fundierte Entscheidungen in Bezug auf das Konfigurieren des Diensts in einer Clusterumgebung treffen zu können, müssen Sie die Rolle des Integration Services-Diensts verstehen.

Der Integration Services-Dienst unterstützt die Verwaltungsoberfläche in SQL Server Management Studio, in der Integration Services-Pakete aufgeführt, gestartet, beendet, überwacht, importiert und exportiert werden. Der Integration Services-Dienst ist nicht zum Entwerfen von Paketen erforderlich. Der Integration Services-Dienst wird auch nicht zum Ausführen von Paketen benötigt oder zum Planen von SQL Server-Agent-Aufträgen, mit denen Pakete ausgeführt werden.

Im Folgenden sind einige der Aufgaben aufgelistet, die Sie auch 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 Eingabeaufforderungs-Hilfsprogramms dtexec (dtexec.exe), des Paketausführungshilfsprogramms (dtexecui.exe), des SQL Server-Agents oder des SQL Server-Import/Export-Assistenten

  • Auflisten der in der msdb-Datenbank gespeicherten Pakete mithilfe einer Transact-SQL-Abfrage sowie Auflisten der im Dateisystem gespeicherten Pakete im Windows-Explorer

  • Erstellen und Ausführen von SQL Server-Agent-Aufträgen und -Wartungsplänen

Grundlegendes zu den Nachteilen der Konfiguration von Integration Services als Clusterressource

Zu den möglichen Nachteilen der Konfiguration des Integration Services-Diensts als Clusterressource zählen die folgenden:

  • Wenn ein Failover auftritt, wird die Paketausführung nicht neu gestartet. Zur Wiederherstellung nach Paketfehlern können Pakete an Prüfpunkten neu gestartet werden. Dazu muss der Dienst nicht als Clusterressource konfiguriert sein. Weitere Informationen finden Sie unter Neustarten von fehlerhaften Paketen mit Prüfpunkten.

  • Wenn Sie den Integration Services-Dienst in einer anderen Ressourcengruppe als SQL Server konfigurieren, können Sie Management Studio auf Clientcomputern nicht zum Verwalten von Paketen verwenden, die in der msdb-Datenbank gespeichert sind. Der Integration Services-Dienst kann in diesem Doppelhopszenario keine Anmeldeinformationen delegieren.

  • Bei mehreren SQL Server-Ressourcengruppen, die den Integration Services-Dienst in einem Cluster aufweisen, kann ein Failover zu unerwarteten Ergebnissen führen. Nehmen Sie das folgende Szenario als Beispiel. Gruppe 1, die den SQL Server-Dienst und den Integration Services-Dienst aufweist, wird auf Knoten A ausgeführt. Gruppe 2, die ebenfalls den SQL Server-Dienst und den Integration Services-Dienst aufweist, wird auf Knoten B ausgeführt. Gruppe 2 führt ein Failover zu Knoten A aus. Beim Versuch, eine andere Instanz des Integration Services-Diensts auf Knoten A zu starten, tritt ein Fehler auf, weil der Integration Services-Dienst ein Dienst mit einer Instanz ist. Ob bei dem SQL Server-Dienst, der versucht, ein Failover zu Knoten A auszuführen, auch ein Fehler auftritt, hängt von der Konfiguration des Integration Services-Diensts in Gruppe 2 ab. Wenn der Integration Services-Dienst so konfiguriert wurde, dass er Auswirkungen auf die anderen Dienste in der Ressourcengruppe hat, dann tritt bei dem SQL Server-Dienst, der das Failover ausführt, ein Fehler auf, da bei dem Integration Services-Dienst ein Fehler aufgetreten ist. Wenn der Dienst so konfiguriert wurde, dass er keinerlei Auswirkungen auf die anderen Dienste in der Ressourcengruppe hat, kann der SQL Server-Dienst ein Failover zu Knoten A ausführen. Sofern nicht der Integration Services-Dienst in Gruppe 2 so konfiguriert wurde, dass er keine Auswirkungen auf die anderen Dienste in der Ressourcengruppe hat, kann der Fehler bei dem Integration Services-Dienst, der das Failover ausführt, dazu führen, dass bei dem SQL Server-Dienst, der das Failover ausführt, auch ein Fehler auftritt.

Konfigurieren des Integration Services-Diensts als Clusterressource

Kunden, für die die Vorteile der Konfiguration des Integration Services-Diensts als Clusterressource die Nachteile überwiegen, finden in diesem Abschnitt aller erforderlichen Konfigurationsanweisungen. Microsoft rät dennoch von einer Konfiguration des Integration Services-Diensts als Clusterressource ab.

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 den Paketspeicher.

  • Schalten Sie den Integration Services-Dienst als Clusterressource online.

Installieren von Integration Services auf einem Cluster

Wenn Sie Integration Services auf einem Cluster installieren möchten, 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 einen Clusterdienst, z. B. SQL Server Database Engine (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 als Clusterressource konfigurieren. Wenn Sie den Integration Services-Dienst als Clusterressource konfigurieren, können Sie den Dienst der gleichen Ressourcengruppe wie SQL Server Database Engine (Datenbankmodul) oder einer anderen Gruppe hinzufügen. In der folgenden Tabelle werden die möglichen Vor- und Nachteile des Auswählens einer Ressourcengruppe beschrieben.

Wenn Integration Services und SQL Server sich in der gleichen Ressourcengruppe befinden

Wenn Integration Services und SQL Server sich in verschiedenen Ressourcengruppen befinden

Clientcomputer können mithilfe von SQL Server Management Studio Pakete verwalten, die in der msdb-Datenbank gespeichert sind, da sowohl der SQL Server Database Engine (Datenbankmodul)-Dienst als auch der Integration Services-Dienst auf demselben virtuellen Server ausgeführt werden. Mit dieser Konfiguration können die Delegierungsprobleme des Doppelhopszenarios vermieden werden.

Clientcomputer können nicht mithilfe von SQL Server Management Studio Pakete verwalten, die in der msdb-Datenbank gespeichert sind. Der Client kann eine Verbindung zum virtuellen Server herstellen, auf dem der Integration Services-Dienst ausgeführt wird. Allerdings kann dieser Computer die Anmeldeinformationen des Benutzers nicht an den virtuellen Server delegieren, auf dem SQL Server ausgeführt wird. Dies wird als Doppelhopszenario bezeichnet.

Der Integration Services-Dienst teilt sich die CPU- und andere Computerressourcen mit anderen SQL Server-Diensten.

Der Integration Services-Dienst teilt sich die CPU- und andere Computerressourcen nicht mit anderen SQL Server-Diensten, da die verschiedenen Ressourcengruppen auf verschiedenen Knoten konfiguriert sind.

Pakete können schneller in die msdb-Datenbank geladen und dort gespeichert werden. Dabei wird weniger Netzwerkverkehr generiert, da beide Dienste auf demselben Computer ausgeführt werden.

Das Laden und Speichern von Paketen in der msdb-Datenbank dauert möglicherweise länger und generiert mehr Netzwerkverkehr.

Beide Dienste sind gleichzeitig online oder offline.

Der Integration Services-Dienst kann online sein, während der SQL Server Database Engine (Datenbankmodul) offline ist. Das bedeutet, dass die in der msdb-Datenbank von SQL Server Database Engine (Datenbankmodul) gespeicherten Pakete nicht verfügbar sind.

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

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

Wenn Sie entschieden haben, welcher Ressourcengruppe Integration Services hinzugefügt werden soll, müssen Sie Integration Services als Clusterressource in dieser Gruppe konfigurieren.

So konfigurieren Sie Integration Services als Clusterressource

  1. Öffnen Sie dieClusterverwaltung.

  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 als Clusterressource der gleichen Ressourcengruppe wie SQL Server hinzuzufügen, wählen Sie die Gruppe aus, zu der SQL Server gehört.

    • Um Integration Services als Clusterressource einer anderen Ressourcengruppe als SQL Server hinzuzufügen, wählen Sie eine Gruppe aus, zu der SQL Server nicht gehört.

  4. Zeigen Sie im Menü File auf New, und klicken Sie dann auf Resource.

  5. Geben Sie auf der Seite New Resource des Resource Wizard einen Namen ein, und wählen Sie Generic Service als Service Type aus. Ändern Sie den Wert für Group nicht. Klicken Sie auf Weiter.

  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 Dependencies hinzuzufügen, wählen Sie unter Available resources eine Ressource aus, und klicken Sie dann auf Add. 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 Parameters als Namen des Dienstes MsDtsServer100 ein. Klicken Sie auf Weiter.

  9. Klicken Sie auf der Seite Registry Replication auf Add, 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 der gleichen Ressourcengruppe wie der Integration Services-Dienst befindet.

  10. Geben Sie im Dialogfeld Registry KeySOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile ein. Klicken Sie auf OK und dann auf Finish.

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

Konfigurieren des Integration Services-Diensts und des 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. Durch diese Änderungen sind bei einem Failover die Konfigurationsdatei und der 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 den Integration Services-Dienst und den Paketspeicher

  1. Suchen Sie die Konfigurationsdatei unter %ProgramFiles%\Microsoft SQL Server\100\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. Dieser soll als Paketspeicher dienen. Erteilen Sie den entsprechenden Benutzern und Gruppen Ordnerauflist- und Schreibberechtigungen 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 des virtuellen Servers mit SQL Server, der sich in der gleichen 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\Microsoft SQL Server\100\SSIS\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 von Integration Services in einem Cluster

Nach dem Konfigurieren des Integration Services-Diensts auf einem Cluster oder auf einem beliebigen Server müssen Sie möglicherweise DCOM-Berechtigungen konfigurieren, bevor Sie von einem Clientcomputer eine Verbindung mit dem Dienst 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 mithilfe von Management Studio verwalten, wenn die folgenden Bedingungen zutreffen:

  • Der 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. Allerdings kann dieser Computer die Anmeldeinformationen des Benutzers nicht an den virtuellen Server delegieren, auf dem SQL Server ausgeführt wird. Dies wird als Doppelhopszenario bezeichnet.

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf MSDN auf der Integration Services-Seite:


Abonnieren Sie die auf der Seite verfügbaren RSS-Feeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.