Sdílet prostřednictvím


Naplánování spouštění balíčků SSIS (SQL Server Integration Services) nasazených v Azure

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Spuštění balíčků SSIS nasazených do katalogu SSISDB na serveru služby Azure SQL Database můžete naplánovat tak, že zvolíte jednu z metod popsaných v tomto článku. Balíček můžete naplánovat přímo nebo naplánovat balíček nepřímo jako součást kanálu Azure Data Factory. Přehled o využití SSIS v Azure naleznete v části přenesení a zachování úloh služby SQL Server Integration Services do cloudu.

Naplánování balíčku pomocí SSMS

V aplikaci SQL Server Management Studio (SSMS) můžete kliknout pravým tlačítkem myši na balíček nasazený do databáze katalogu služby SSIS, SSISDBa vybrat Naplánovat a otevřít dialogové okno Nový plán. Další informace najdete v tématu Plánování balíčků SSIS v Azure pomocíSSMS .

Tato funkce vyžaduje SQL Server Management Studio verze 17.7 nebo vyšší. Pokud chcete získat nejnovější verzi aplikace SSMS, přečtěte si stažení aplikace SQL Server Management Studio (SSMS).

Naplánování balíčku s využitím elastických úloh SQL Database

Další informace o elastických úlohách ve službě SQL Database najdete v tématu Správa cloudových databází se škálováním na více systémů.

Požadavky

Než budete moct použít elastické úlohy k naplánování balíčků SSIS uložených v databázi katalogu SSISDB na serveru služby Azure SQL Database, musíte provést následující akce:

  1. Nainstalujte a nakonfigurujte komponenty úloh Elastic Database. Další informace najdete v tématu Přehled instalace úloh Elastic Database.

  2. Vytvořte přihlašovací údaje v rámci databáze, které můžou úlohy použít k odesílání příkazů do SSIS katalogu databáze. Další informace najdete v CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).

Vytvořte elastickou úlohu

Vytvořte úlohu pomocí Transact-SQL skriptu podobného skriptu uvedenému v následujícím příkladu:

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

Naplánujte balíček s agentem SQL Serveru na místním serveru

Další informace o agenta SYSTÉMU SQL Server naleznete v tématu úlohy agenta SYSTÉMU SQL Server pro balíčky.

Předpoklad – Vytvoření propojeného serveru

Než budete moct použít místního agenta SQL Serveru k naplánování provádění balíčků uložených na serveru Azure SQL Database, musíte server SQL Database přidat do místního SQL Serveru jako propojený server. Následující příklad používá ovladač Microsoft OLE DB pro SQL Server.

  1. Nastavení propojeného serveru

    -- 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. Nastavení přihlašovacích údajů odkazovaného serveru

    Nahraďte <password> platným heslem.

    -- 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. Nastavení možností propojeného serveru

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

Pro další informace viz Vytvoření propojených serverů a Propojené servery.

Vytvoření úlohy agenta SQL Serveru

Pro ​​naplánování balíčku s místním agentem SQL Serveru vytvořte úlohu, jejíž krok volá uložené procedury katalogu SSIS [catalog].[create_execution] a poté [catalog].[start_execution]. Další informace najdete v tématu úlohy agenta SQL Serveru pro balíčky.

  1. V aplikaci SQL Server Management Studio se připojte k místní databázi SQL Serveru, na které chcete vytvořit úlohu.

  2. Klikněte pravým tlačítkem myši na uzel agenta SQL Serveru, vyberte Novýa potom vyberte Úloha a otevřete dialogové okno Nová úloha.

  3. V dialogovém okně Nová úloha vyberte stránku Kroky a potom výběrem možnosti Nový otevřete dialogové okno Krok nové úlohy.

  4. V dialogovém okně Nový krok úlohy vyberte SSISDB jako databázi .

  5. Do pole Command zadejte Transact-SQL skript podobný skriptu uvedenému v následujícím příkladu:

    -- 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. Dokončete konfiguraci a plánování úlohy.

Naplánovat balíček jako součást pipeline Azure Data Factory

Balíček můžete naplánovat nepřímo pomocí triggeru pro spuštění kanálu služby Azure Data Factory, který spouští balíček SSIS.

K naplánování pipeline služby Data Factory použijte jeden z následujících spouštěčů:

Pokud chcete spustit balíček SSIS jako součást kanálu služby Data Factory, použijte jednu z následujících aktivit:

Další kroky

Projděte si možnosti spouštění balíčků SSIS nasazených do Azure. Další informace najdete v tématu Spouštění balíčků SSIS v Azure.