Ausführen von Paketen in SSIS Scale Out (SQL Server Integration Services)
Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory
Nachdem Sie Pakete auf dem Integration Services-Server bereitgestellt haben, können Sie sie über eine der folgenden Methoden in Scale Out ausführen:
Ausführen von Paketen über das Dialogfeld „Paket in Scale Out ausführen“
Öffnen Sie das Dialogfeld „Paket in Scale Out ausführen“.
Stellen Sie in SQL Server Management Studioeine Verbindung zum Integration Services -Server her. Erweitern Sie im Objekt-Explorer die Struktur, um die Knoten unter Integration Services-Katalogeanzuzeigen. Klicken Sie mit der rechten Maustaste auf den SSISDB-Knoten oder auf das Projekt oder Paket, das Sie ausführen möchten, und klicken Sie dann auf In Scale Out ausführen.
Wählen Sie Pakete aus, und legen Sie die Optionen fest.
Wählen Sie auf der Seite Paketauswahl mindestens ein Paket aus, das ausgeführt werden soll. Legen Sie für jedes Paket die Umgebung, Parameter, Verbindungs-Manager und erweiterte Optionen fest. Klicken Sie auf ein Paket, um diese Optionen festzulegen.
Legen Sie auf der Registerkarte Erweitert die Aufskalierungsoption Wiederholungsanzahl fest, um zu bestimmen, wie oft versucht werden soll, ein Paket auszuführen, wenn ein Fehler auftritt.
Hinweis
Die Option Bei Fehler Abbild sichern funktioniert nur, wenn das Konto, unter dem der Scale Out-Workerdienst ausgeführt wird, einem Administrator auf dem lokalen Computer zugeordnet ist.
Wählen Sie Workercomputer aus.
Wählen Sie auf der Seite Computerauswahl die Scale Out-Workercomputer aus, auf denen die Pakete ausgeführt werden sollen. Standardmäßig können die Pakete auf jedem Computer ausgeführt werden.
Hinweis
Die Pakete werden mit den Anmeldeinformationen der Benutzerkonten der Dienste für Scale Out-Worker ausgeführt. Diese Anmeldeinformationen finden Sie auf der Seite Computerauswahl. Standardmäßig lautet das Konto
NT Service\SSISScaleOutWorker140
.Warnung
Die von verschiedenen Benutzern im selben Worker ausgelösten Paketausführungen werden mit denselben Anmeldeinformationen ausgeführt. Es gibt keine Sicherheitsbegrenzung zwischen diesen.
Führen Sie die Pakete aus, und zeigen Sie Berichte an.
Klicken Sie auf OK , um die Paketausführungen zu starten. Um den Ausführungsbericht für ein Paket anzuzeigen, klicken Sie im Objekt-Explorer mit der rechten Maustaste auf das Paket, klicken Sie auf Berichte, klicken Sie auf Alle Ausführungen, und suchen Sie nach der Ausführung.
Ausführen von Paketen mit gespeicherten Prozeduren
Erstellen Sie Ausführungen.
Rufen Sie für jedes Paket
[catalog].[create_execution]
auf. Legen Sie den Parameter @runinscaleout aufTrue
fest. Sind nicht alle Scale Out-Workercomputer berechtigt, das Paket auszuführen, legen Sie den Parameter @useanyworker aufFalse
fest. Weitere Informationen zu dieser gespeicherten Prozedur und dem Parameter @useanyworker finden Sie unter catalog.create_execution.Legen Sie Ausführungsparameter fest.
Rufen Sie für jede Ausführung
[catalog].[set_execution_parameter_value]
auf.Legen Sie die Scale Out-Worker fest.
Rufen Sie
[catalog].[add_execution_worker]
auf. Sind alle Computer berechtigt, das Paket auszuführen, müssen Sie diese gespeicherte Prozedur nicht aufrufen.Starten Sie die Ausführungen.
Rufen Sie
[catalog].[start_execution]
auf. Legen Sie den Parameter @retry_count fest, um anzugeben, wie oft versucht werden soll, ein Paket auszuführen, wenn ein Fehler auftritt.
Beispiel
Im folgenden Beispiel werden zwei Pakete in Scale Out mit einem Scale Out-Worker ausgeführt: package1.dtsx
und package2.dtsx
.
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package1.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder1', @project_name=N'project1', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id, @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id, @retry_count=0
GO
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package2.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder2', @project_name=N'project2', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id, @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id, @retry_count=0
GO
Berechtigungen
Eine der folgenden Berechtigungen ist erforderlich, um die Pakete in Scale Out auszuführen:
Mitgliedschaft in der Datenbankrolle ssis_admin
Mitgliedschaft in der Datenbankrolle ssis_cluster_executor
Mitgliedschaft in der Serverrolle sysadmin
Festlegen des Standardausführungsmodus
Führen Sie die folgenden Schritte aus, um den Standardausführungsmodus für Pakete auf Scale Out festzulegen:
Klicken Sie in SSMS in Objekt-Explorer mit der rechten Maustaste auf den Knoten SSISDB, und wählen Sie Eigenschaften aus.
Legen Sie im Dialogfeld Katalogeigenschaften für den serverweiten Standardausführungsmodus die Option Scale Out fest.
Nachdem Sie diesen Standardausführungsmodus festgelegt haben, müssen Sie den @runinscaleout-Parameter nicht mehr angeben, wenn Sie die gespeicherte Prozedur [catalog].[create_execution]
aufrufen. Pakete werden in Scale Out automatisch ausgeführt.
Um den Standardausführungsmodus wieder auf den Modus ohne Scale Out zurückzusetzen, damit die Pakete nicht mehr standardmäßig im Scale Out-Modus ausgeführt werden, legen Sie den serverweiten Standardausführungsmodus auf Server fest.
Ausführen eines Pakets in einem SQL Server-Agent-Auftrag
In einem SQL Server-Agent-Auftrag können Sie im Rahmen des Auftrags ein SSIS-Paket ausführen. Legen Sie den Standardausführungsmodus auf Scale Out fest, um das Paket in Scale Out auszuführen. Nachdem der Standardausführungsmodus auf Scale Out festgelegt wurde, werden Pakete in SQL-Agent-Aufträgen in Scale Out ausgeführt.
Hinweis
Sie können die Ausführung von Scale Out-Paketen beenden, indem Sie den SQL Server-Agent-Auftrag abbrechen. Um die Ausführung von Scale Out zu beenden, empfehlen wir, die gespeicherte Prozedur catalog.stop_operation oder den Bereich Aktive Vorgänge zu verwenden.