Planen Sie die Ausführung von in Azure bereitgestellten SSIS-Paketen
Gilt für:SQL Server
SSIS Integration Runtime in Azure Data Factory
Sie können die Ausführung von SSIS-Paketen planen, die im SSISDB-Katalog eines Azure SQL-Datenbank-Servers bereitgestellt sind, indem Sie eine der in diesem Artikel beschriebenen Methoden verwenden. Sie können ein Paket direkt oder indirekt als Teil einer Azure Data Factory-Pipeline planen. Eine Übersicht über SSIS in Azure finden Sie unter Migration von SQL Server Integration Services-Workloads mit Lift and Shift in die Cloud.
Ein Paket direkt planen
Indirektes Planen eines Pakets als Teil einer Azure Data Factory-Pipeline
Planen eines Pakets mit SSMS
In SQL Server Management Studio (SSMS) können Sie mit der rechten Maustaste auf ein Paket klicken, das in der SSIS-Katalogdatenbank SSISDB
bereitgestellt wird, und Zeitplan auswählen, um das Dialogfeld Neuer Zeitplan zu öffnen. Weitere Informationen finden Sie unter Planen der Ausführung von SSIS-Paketen in Azure mit SSMS.
Dieses Feature erfordert SQL Server Management Studio, Version 17.7 oder höher. Die neueste Version von SSMS können Sie unter Herunterladen von SQL Server Management Studio (SSMS) abrufen.
Planen eines Pakets mit SQL-Datenbank für elastische Aufträge
Weitere Informationen zu elastischen Aufträgen auf SQL-Datenbank finden Sie unter Verwalten von Scale Out-Clouddatenbanken.
Voraussetzungen
Sie müssen zunächst folgende Schritte ausführen, damit Sie elastische Aufträge verwenden können, um SSIS-Pakete zu planen, die in der SSIS-Katalogdatenbank auf einem Azure SQL-Datenbank-Server gespeichert sind:
Installieren und konfigurieren Sie die Komponenten für Elastic Database Jobs. Informationen dazu finden Sie unter Übersicht zum Installieren von Elastic Database-Jobs.
Erstellen Sie datenbankbezogene Anmeldeinformationen, die Jobs verwenden können, um Befehle an den SSIS-Katalog zu senden. Informationen dazu finden Sie unter CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Einen elastischen Job erstellen
Sie können den Auftrag erstellen, indem Sie ein Transact-SQL-Skript verwenden, das dem im folgenden Beispiel dargestellten Skript gleicht:
-- Create Elastic Jobs target group
EXEC jobs.sp_add_target_group 'TargetGroup'
-- Add Elastic Jobs target group member
EXEC jobs.sp_add_target_group_member @target_group_name='TargetGroup',
@target_type='SqlDatabase', @server_name='YourSQLDBServer.database.windows.net',
@database_name='SSISDB'
-- Add a job to schedule SSIS package execution
EXEC jobs.sp_add_job @job_name='ExecutePackageJob', @description='Description',
@schedule_interval_type='Minutes', @schedule_interval_count=60
-- Add a job step to create/start SSIS package execution using SSISDB catalog stored procedures
EXEC jobs.sp_add_jobstep @job_name='ExecutePackageJob',
@command=N'DECLARE @exe_id bigint
EXEC [SSISDB].[catalog].[create_execution]
@folder_name=N''folderName'', @project_name=N''projectName'',
@package_name=N''packageName'', @use32bitruntime=0,
@runinscaleout=1, @useanyworker=1,
@execution_id=@exe_id OUTPUT
EXEC [SSISDB].[catalog].[start_execution] @exe_id, @retry_count=0',
@credential_name='YourDBScopedCredentials',
@target_group_name='TargetGroup'
-- Enable the job schedule
EXEC jobs.sp_update_job @job_name='ExecutePackageJob', @enabled=1,
@schedule_interval_type='Minutes', @schedule_interval_count=60
Lokales Planen eines Pakets mit SQL Server-Agent
Weitere Informationen zu SQL Server-Agent finden Sie unter SQL Server Agent Jobs for Packages (Aufträge für SQL Server-Agent für Pakete).
Voraussetzung: Erstellen Sie einen Verbindungsserver
Bevor Sie den SQL Server-Agenten zum lokalen Planen der Ausführung von auf einem Azure SQL-Datenbank-Server gespeicherten Paketen verwenden können, müssen Sie den SQL-Datenbank-Server als Verbindungsserver zu Ihrem lokalen SQL Server hinzufügen. Im folgenden Beispiel wird der Microsoft OLE DB-Treiber für SQL Server verwendet.
Einrichten des Verbindungsservers
-- Add the SSISDB database on your Azure SQL Database as a linked server to your SQL Server on premises EXEC sp_addlinkedserver @server='myLinkedServer', -- Name your linked server @srvproduct='', @provider='MSOLEDBSQL', -- Microsoft OLE DB Driver for SQL Server @datasrc='<server_name>.database.windows.net', -- Add your Azure SQL Database server endpoint @location='', @provstr='', @catalog='SSISDB' -- Add SSISDB as the initial catalog
Einrichten der Anmeldeinformationen für den Verbindungsserver
Ersetzen Sie
<password>
durch ein gültiges Kennwort.-- Add your Azure SQL Database server admin credentials EXEC sp_addlinkedsrvlogin @rmtsrvname = 'myLinkedServer', @useself = 'false', @rmtuser = 'myUsername', -- Add your server admin username @rmtpassword = '<password>' -- Add your server admin password
Einrichten der Verbindungsserveroptionen
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Weitere Informationen finden Sie unter Erstellen von Verbindungsservern und Linked Servers (Verbindungsserver).
Erstellen eines Auftrags für SQL Server-Agent
Um ein Paket lokal mit dem SQL Server-Agent zu planen, erstellen Sie einen Auftrag mit einem Auftragsschritt, der die gespeicherten SSIS-Katalog-Prozeduren [catalog].[create_execution]
und [catalog].[start_execution]
aufruft. Weitere Informationen finden Sie unter SQL Server Agent Jobs for Packages (Aufträge für SQL Server-Agent für Pakete).
Stellen Sie in SQL Server Management Studio eine Verbindung mit der lokalen SQL Server-Datenbank her, auf der Sie den Auftrag erstellen möchten.
Klicken Sie mit der rechten Maustaste auf den Knoten SQL Server-Agent, wählen Sie Neu aus, und klicken Sie anschließend auf Auftrag, damit das Dialogfeld Neuer Auftrag geöffnet wird.
Wählen Sie im Dialogfeld Neuer Auftrag die Seite Schritte aus, und klicken Sie dann auf Neu, um das Dialogfeld Neuer Auftragsschritt zu öffnen.
Wählen Sie im Dialogfeld Neuer Auftragsschritt
SSISDB
als Datenbank aus.Geben Sie im Feld Befehl ein Transact-SQL-Skript ein, das dem im folgenden Beispiel dargestellten Skript gleicht:
-- T-SQL script to create and start SSIS package execution using SSISDB stored procedures DECLARE @return_value int, @exe_id bigint EXEC @return_value = [YourLinkedServer].[SSISDB].[catalog].[create_execution] @folder_name=N'folderName', @project_name=N'projectName', @package_name=N'packageName', @use32bitruntime=0, @runincluster=1, @useanyworker=1, @execution_id=@exe_id OUTPUT EXEC [YourLinkedServer].[SSISDB].[catalog].[set_execution_parameter_value] @exe_id, @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1 EXEC [YourLinkedServer].[SSISDB].[catalog].[start_execution] @execution_id=@exe_id
Stellen Sie die Konfiguration und die Planung des Auftrags fertig.
Planen eines Pakets als Teil einer Azure Data Factory-Pipeline
Sie können ein Paket indirekt planen, indem Sie einen Trigger verwenden, um eine Azure Data Factory-Pipeline auszuführen, die ein SSIS-Paket ausführt.
Verwenden Sie einen der folgenden Trigger, um eine Data Factory-Pipeline zu planen:
Verwenden Sie eine der folgenden Aktivitäten, um ein SSIS-Paket als Teil einer Data Factory-Pipeline auszuführen:
Nächste Schritte
Überprüfen Sie die Optionen für das Ausführen von SSIS-Paketen, die in Azure bereitgestellt wurden. Weitere Informationen finden Sie unter Ausführen eines SSIS-Pakets in Azure.