Udostępnij za pośrednictwem


Planowanie wykonywania pakietów usług SQL Server Integration Services (SSIS) wdrożonych na platformie Azure

Dotyczy:SQL Server SSIS Integration Runtime w Azure Data Factory

Możesz zaplanować wykonywanie pakietów usług SSIS wdrożonych w katalogu SSISDB na serwerze usługi Azure SQL Database, wybierając jedną z metod opisanych w tym artykule. Można zaplanować przesyłkę bezpośrednio lub pośrednio jako część potoku usługi Azure Data Factory. Aby zapoznać się z omówieniem usług SSIS na platformie Azure, zobacz Przenieś i uruchom obciążenia usług SQL Server Integration Services do chmury.

Planowanie pakietu za pomocą programu SSMS

W programie SQL Server Management Studio (SSMS) możesz kliknąć prawym przyciskiem myszy pakiet wdrożony w bazie danych Katalogu SSIS, SSISDB, i wybrać Harmonogram, aby otworzyć okno dialogowe Nowy harmonogram. Aby uzyskać więcej informacji, zobacz Planowanie pakietów usług SSIS na platformie Azure przy użyciu programu SSMS.

Ta funkcja wymaga programu SQL Server Management Studio w wersji 17.7 lub nowszej. Aby uzyskać najnowszą wersję programu SSMS, zobacz Pobierz program SQL Server Management Studio (SSMS).

Planowanie pakietu za pomocą zadań elastycznych usługi SQL Database

Aby uzyskać więcej informacji na temat zadań elastycznych w usłudze SQL Database, zobacz Zarządzanie skalowalnymi w poziomie bazami danych w chmurze.

Warunki wstępne

Aby można było używać zadań elastycznych do planowania pakietów usług SSIS przechowywanych w bazie danych katalogu SSISDB na serwerze usługi Azure SQL Database, należy wykonać następujące czynności:

  1. Zainstaluj i skonfiguruj składniki zadań Elastic Database. Aby uzyskać więcej informacji, zobacz Instalowanie zadań elastycznej bazy danych — omówienie.

  2. Utwórz poświadczenia o zakresie bazy danych, których zadania mogą używać do wysyłania poleceń do bazy danych katalogu SSIS. Aby uzyskać dodatkowe informacje, zobacz CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).

Utwórz zadanie elastyczne

Utwórz zadanie przy użyciu skryptu Transact-SQL podobnego do skryptu pokazanego w poniższym przykładzie:

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

Planowanie pakietu przy użyciu agenta programu SQL Server w środowisku lokalnym

Aby uzyskać więcej informacji na temat agenta programu SQL Server, zobacz zadania agenta programu SQL Server dla pakietów.

Wymaganie wstępne — tworzenie połączonego serwera

Aby można było użyć agenta programu SQL Server w środowisku lokalnym, aby zaplanować wykonywanie pakietów przechowywanych na serwerze usługi Azure SQL Database, należy dodać serwer usługi SQL Database do lokalnego programu SQL Server jako serwer połączony. W poniższym przykładzie użyto sterownika Microsoft OLE DB dla programu SQL Server.

  1. Konfigurowanie serwera połączonego

    -- 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. Konfigurowanie poświadczeń serwera połączonego

    Zastąp <password> prawidłowym hasłem.

    -- 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. Konfigurowanie opcji serwera połączonego

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

Aby uzyskać więcej informacji, zapoznaj się z Create Linked Servers i Linked Servers.

Tworzenie zadania agenta programu SQL Server

Aby zaplanować pakiet za pomocą SQL Server Agent na miejscu, utwórz zadanie z krokiem zadania, który wywołuje procedury przechowywane Katalogu SSIS [catalog].[create_execution], a następnie [catalog].[start_execution]. Aby uzyskać więcej informacji, zobacz zadania agenta programu SQL Server dla pakietów.

  1. W programie SQL Server Management Studio połącz się z lokalną bazą danych programu SQL Server, w której chcesz utworzyć zadanie.

  2. Kliknij prawym przyciskiem myszy na węzeł SQL Server Agent, wybierz opcję Nowy, a następnie wybierz opcję Zadanie, aby otworzyć okno dialogowe Nowe zadanie.

  3. W oknie dialogowym Nowe zadanie wybierz zakładkę Kroki, a następnie wybierz opcję Nowy, aby otworzyć okno dialogowe Nowy krok zadania.

  4. W oknie dialogowym Nowy krok zadania wybierz SSISDB jako bazę danych .

  5. W polu polecenia wprowadź skrypt Transact-SQL podobny do skryptu pokazanego w poniższym przykładzie:

    -- 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. Zakończ konfigurowanie i planowanie zadania.

Planowanie pakietu w ramach potoku usługi Azure Data Factory

Pakiet można zaplanować pośrednio przy użyciu wyzwalacza w celu uruchomienia potoku usługi Azure Data Factory, który uruchamia pakiet usług SSIS.

Aby zaplanować potok usługi Data Factory, użyj jednego z następujących wyzwalaczy:

Aby uruchomić pakiet usług SSIS w ramach potoku usługi Data Factory, użyj jednego z następujących działań:

Następne kroki

Zapoznaj się z opcjami uruchamiania pakietów usług SSIS wdrożonych na platformie Azure. Aby uzyskać więcej informacji, zobacz Uruchamianie pakietów SSIS w usłudze Azure.