Planen der 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 in die Cloud per Lift und Shift.

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:

  1. Installieren und Konfigurieren Sie die Komponenten für Aufträge für die elastische Datenbank. Informationen dazu finden Sie unter Installieren von Aufträgen für die elastische Datenbank – Übersicht.

  2. Erstellen Sie datenbankbezogene Anmeldeinformationen, die Aufträge nutzen können, um Befehle an die SSIS-Katalogdatenbank zu senden. Informationen dazu finden Sie unter CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL) (Erstellen von datenbankbezogenen Anmeldeinformationen (Transact-SQL)).

Erstellen eines elastischen Auftrags

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 SQL Server-Agent lokal zum Planen der Ausführung von auf einem Azure SQL-Datenbank-Server gespeicherten Paket verwenden können, müssen Sie 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.

  1. 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
    
  2. Einrichten der Anmeldeinformationen für den Verbindungsserver

    -- Add your Azure SQL Database server admin credentials
    EXEC sp_addlinkedsrvlogin
        @rmtsrvname = 'myLinkedServer',
        @useself = 'false',
        @rmtuser = 'myUsername', -- Add your server admin username
        @rmtpassword = 'myPassword' -- Add your server admin password
    
  3. 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

Erstellen Sie mithilfe eines Auftragsschritts einen Auftrag, der die gespeicherten SSIS-Katalog-Prozeduren [catalog].[create_execution] und [catalog].[start_execution] aufruft, um ein Paket lokal mit SQL Server-Agent zu planen. Weitere Informationen finden Sie unter SQL Server Agent Jobs for Packages (Aufträge für SQL Server-Agent für Pakete).

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit der lokalen SQL Server-Datenbank her, auf der Sie den Auftrag erstellen möchten.

  2. 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.

  3. Wählen Sie im Dialogfeld Neuer Auftrag die Seite Schritte aus, und klicken Sie dann auf Neu, um das Dialogfeld Neuer Auftragsschritt zu öffnen.

  4. Wählen Sie im Dialogfeld Neuer AuftragsschrittSSISDB als Datenbank aus.

  5. 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
    
  6. 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.