Menjadwalkan eksekusi paket SQL Server Integration Services (SSIS) yang disebarkan di Azure

Berlaku untuk: Integration Runtime SSIS SQL Server di Azure Data Factory

Anda dapat menjadwalkan eksekusi paket SSIS yang disebarkan ke Katalog SSISDB di server database Azure SQL dengan memilih salah satu metode yang dijelaskan dalam artikel ini. Anda dapat menjadwalkan paket secara langsung, atau menjadwalkan paket secara tidak langsung sebagai bagian dari alur Azure Data Factory. Untuk gambaran umum tentang SSIS di Azure, lihat Mengangkat dan mengalihkan beban kerja layanan integrasi SQL Server ke cloud.

Menjadwalkan paket dengan SSMS

Di SQL Server Management Studio (SSMS), Anda dapat mengklik kanan paket yang disebarkan ke database Katalog SSIS, SSISDB, dan pilih Jadwalkan untuk membuka kotak dialog Jadwal baru. Untuk informasi selengkapnya, lihat Menjadwalkan paket SSIS di Azure dengan SSMS.

Fitur ini memerlukan SQL Server Management Studio versi 17.7 atau yang lebih tinggi. Untuk mendapatkan versi terbaru SQL Server Management Studio, lihat Mengunduh SQL Server Management Studio (SSMS).

Menjadwalkan paket dengan SQL Database Elastic Jobs

Untuk informasi selengkapnya tentang pekerjaan elastis di SQL Database, lihat Mengelola database cloud yang diskalakan.

Prasyarat

Sebelum Anda dapat menggunakan pekerjaan elastis untuk menjadwalkan paket SSIS yang disimpan dalam database Katalog SSISDB di server database Azure SQL, Anda harus melakukan hal-hal berikut:

  1. Instal dan konfigurasikan komponen pekerjaan Elastic Database. Untuk informasi selengkapnya, lihat Menginstal gambaran umum pekerjaan Elastic Database.

  2. Buat kredensial cakupan database yang dapat digunakan pekerjaan untuk mengirim perintah ke database Katalog SSIS. Untuk informasi selengkapnya, lihat MEMBUAT INFO MASUK LINGKUP DATABASE (Transact-SQL).

Membuat pekerjaan elastis

Buat pekerjaan dengan menggunakan skrip Transact-SQL yang mirip dengan skrip yang ditunjukkan dalam contoh berikut:

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

Menjadwalkan paket dengan SQL Server Agent lokal

Untuk informasi selengkapnya tentang SQL Server Agent, lihat SQL Server Agent Pekerjaan untuk Paket.

Prasyarat - Membuat server tertaut

Sebelum Anda bisa menggunakan SQL Server Agent lokal untuk menjadwalkan eksekusi paket yang disimpan di server database Azure SQL, Anda harus menambahkan server SQL Database ke SQL Server lokal Anda sebagai server tertaut. Contoh di bawah ini menggunakan Driver Microsoft OLE DB untuk SQL Server.

  1. Menyiapkan server tertaut

    -- 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. Menyiapkan kredensial server tertaut

    -- 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. Menyiapkan opsi server tertaut

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

Untuk informasi selengkapnya, lihat Membuat Server Tertaut dan Server Tertaut.

Membuat pekerjaan SQL Server Agent

Untuk menjadwalkan paket dengan SQL Server Agent lokal, buat pekerjaan dengan langkah pekerjaan yang memanggil prosedur tersimpan [catalog].[create_execution] Katalog SSIS lalu [catalog].[start_execution]. Untuk informasi selengkapnya, lihat SQL Server Agent Pekerjaan untuk Paket.

  1. Di SQL Server Management Studio, sambungkan ke database SQL Server lokal tempat Anda ingin membuat pekerjaan.

  2. Klik kanan pada simpul SQL Server Agent, pilih Baru, lalu pilih Pekerjaan untuk membuka kotak dialog Pekerjaan Baru.

  3. Dalam kotak dialog Pekerjaan Baru , pilih halaman Langkah , lalu pilih Baru untuk membuka kotak dialog Langkah Pekerjaan Baru .

  4. Dalam kotak dialog Langkah Pekerjaan Baru , pilih SSISDB sebagai Database.

  5. Di bidang Perintah , masukkan skrip Transact-SQL yang mirip dengan skrip yang diperlihatkan dalam contoh berikut:

    -- 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. Selesaikan konfigurasi dan penjadwalan pekerjaan.

Menjadwalkan paket sebagai bagian dari alur Azure Data Factory

Anda dapat menjadwalkan paket secara tidak langsung dengan menggunakan pemicu untuk menjalankan alur Azure Data Factory yang menjalankan paket SSIS.

Untuk menjadwalkan alur Data Factory, gunakan salah satu pemicu berikut:

Untuk menjalankan paket SSIS sebagai bagian dari alur Data Factory, gunakan salah satu aktivitas berikut:

Langkah berikutnya

Tinjau opsi untuk menjalankan paket SSIS yang disebarkan ke Azure. Untuk informasi selengkapnya, lihat Menjalankan paket SSIS di Azure.