Delen via


Plan de uitvoering van SSIS-pakketten (SQL Server Integration Services) die in Azure zijn geïmplementeerd

van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

U kunt de uitvoering van SSIS-pakketten plannen die zijn geïmplementeerd in de SSISDB-catalogus op een Azure SQL Database-server door een van de methoden te kiezen die in dit artikel worden beschreven. U kunt een pakket rechtstreeks plannen of indirect een pakket plannen als onderdeel van een Azure Data Factory-pijplijn. Voor een overzicht van SSIS op Azure, zie Lift and shift SQL Server Integration Services-workloads naar de cloud.

Een pakket plannen met SSMS

In SQL Server Management Studio (SSMS) kunt u met de rechtermuisknop op een pakket klikken dat is geïmplementeerd in de SSIS Catalog-database, SSISDBen Planning selecteren om het dialoogvenster Nieuw schema te openen. Zie SSIS-pakketten plannen in Azure met SSMSvoor meer informatie.

Voor deze functie is SQL Server Management Studio versie 17.7 of hoger vereist. Zie SQL Server Management Studio (SSMS) downloadenom de nieuwste versie van SSMS te downloaden.

Een pakket plannen met elastische taken voor SQL Database

Zie Uitgeschaalde clouddatabases beherenvoor meer informatie over elastische taken in SQL Database.

Voorwaarden

Voordat u elastische taken kunt gebruiken om SSIS-pakketten te plannen die zijn opgeslagen in de SSISDB-catalogusdatabase op een Azure SQL Database-server, moet u het volgende doen:

  1. Installeer en configureer de onderdelen van elastic database-taken. Zie Overzicht van elastische databasetaken installerenvoor meer informatie.

  2. Maak databasereferenties die taken kunnen gebruiken om opdrachten naar de SSIS-catalogusdatabase te verzenden. Zie CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)voor meer informatie.

Een elastische taak maken

Maak de taak met behulp van een Transact-SQL script dat vergelijkbaar is met het script dat in het volgende voorbeeld wordt weergegeven:

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

Een pakket plannen met SQL Server Agent on-premises

Voor meer informatie over SQL Server Agent, zie SQL Server Agent-taken voor pakketten.

Vereiste : een gekoppelde server maken

Voordat u SQL Server Agent on-premises kunt gebruiken om de uitvoering van pakketten te plannen die zijn opgeslagen op een Azure SQL Database-server, moet u de SQL Database-server toevoegen aan uw on-premises SQL Server als een gekoppelde server. In het onderstaande voorbeeld wordt het Microsoft OLE DB-stuurprogramma voor SQL Servergebruikt.

  1. de gekoppelde server instellen

    -- 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. Referenties voor gekoppelde server instellen

    Vervang <password> door een geldig wachtwoord.

    -- 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
    
  3. Opties voor gekoppelde servers instellen

    EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
    

Voor meer informatie, zie Gekoppelde servers maken en Gekoppelde servers.

Een SQL Server Agent-taak maken

Als u een pakket met SQL Server Agent on-premises wilt plannen, maakt u een taak met een taakstap die de opgeslagen SSIS-catalogusprocedures [catalog].[create_execution] aanroept en vervolgens [catalog].[start_execution]. Zie SQL Server Agent-taken voor pakkettenvoor meer informatie.

  1. Maak in SQL Server Management Studio verbinding met de on-premises SQL Server-database waarop u de taak wilt maken.

  2. Klik met de rechtermuisknop op het knooppunt SQL Server Agent, selecteer Nieuween selecteer vervolgens Taak om het dialoogvenster Nieuwe taak te openen.

  3. Selecteer in het dialoogvenster Nieuwe taak de pagina Stappen en selecteer vervolgens Nieuwe om het dialoogvenster Nieuwe taakstap te openen.

  4. Selecteer in het dialoogvenster Nieuwe taakstapSSISDB als de -database.

  5. Voer in het veld Command een Transact-SQL script in dat vergelijkbaar is met het script dat in het volgende voorbeeld wordt weergegeven:

    -- 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. Voltooi het configureren en plannen van de taak.

Een pakket plannen als onderdeel van een Azure Data Factory-pijplijn

U kunt een pakket indirect plannen met behulp van een trigger om een Azure Data Factory-pijplijn uit te voeren waarop een SSIS-pakket wordt uitgevoerd.

Gebruik een van de volgende triggers om een Data Factory-pijplijn te plannen:

Als u een SSIS-pakket wilt uitvoeren als onderdeel van een Data Factory-pijplijn, gebruikt u een van de volgende activiteiten:

Volgende stappen

Bekijk de opties voor het uitvoeren van SSIS-pakketten die zijn geïmplementeerd in Azure. Zie SSIS-pakketten uitvoeren in Azurevoor meer informatie.