排程部署於 Azure 中的 SQL Server Integration Services (SSIS) 套件執行
適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime
您可以選擇本文中所述的其中一個方法,來排程部署到 Azure SQL Database 伺服器上 SSISDB 目錄的 SSIS 套件執行。 您可以直接排程套件,或間接排程套件作為 Azure Data Factory 管線的一部分。 如需 Azure 上的 SSIS 概觀,請參閱將 SQL Server Integration Services 工作負載隨即轉移至雲端。
直接排程套件
使用 SSMS 排程套件
在 SQL Server Management Studio (SSMS) 中,您可以在部署到 SSIS 目錄資料庫 (SSISDB
) 的套件上按一下滑鼠右鍵,然後選取 [排程] 以開啟 [新增排程] 對話方塊。 如需詳細資訊,請參閱在 Azure 中以 SSMS 排程 SSIS 套件。
此功能需要 SQL Server Management Studio 17.7 版或更高版本。 若要取得最新版的 SSMS,請參閱下載 SQL Server Management Studio (SSMS)。
使用 SQL Database 彈性作業排程套件
如需在 SQL Database 上彈性作業的詳細資訊,請參閱管理相應放大的雲端資料庫。
必要條件
您必須執行下列動作,才能使用彈性作業來排程 Azure SQL Database 伺服器的 SSISDB 目錄資料庫上所儲存的 SSIS 套件:
安裝和設定彈性資料庫作業元件。 如需詳細資訊,請參閱安裝彈性資料庫作業概觀。
建立作業可用來將命令傳送至 SSIS 目錄資料庫的資料庫範圍認證。 如需詳細資訊,請參閱 CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)。
建立彈性作業
使用與下列範例中所示指令碼類似的 Transact-SQL 指令碼,來建立作業:
-- 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
使用 SQL Server Agent 在內部部署排程套件
如需 SQL Server Agent 的詳細資訊,請參閱套件的 SQL Server Agent 作業。
必要條件 - 建立連結的伺服器
您必須先將 SQL Database 伺服器新增至內部部署 SQL Server 作為連結的伺服器,才能在內部部署環境中使用 SQL Server Agent 來排程執行 Azure SQL Database 伺服器上所儲存的套件。 下列範例會使用 Microsoft OLE DB Driver for SQL Server。
設定連結的伺服器
-- 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
設定連結的伺服器認證
-- 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
設定連結的伺服器選項
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
建立 SQL Server Agent 作業
若要使用 SQL Server Agent 來排程內部部署環境中的套件,請使用可依序呼叫 SSIS 目錄預存程序 [catalog].[create_execution]
和 [catalog].[start_execution]
的作業步驟來建立作業。 如需詳細資訊,請參閱套件的 SQL Server Agent 作業。
在 SQL Server Management Studio 中,連線至您要在其上建立作業的內部部署 SQL Server 資料庫。
以滑鼠右鍵按一下 [SQL Server Agent] 節點,並選取 [新增],然後選取 [作業] 開啟 [新增作業] 對話方塊。
在 [新增作業] 對話方塊中,選取 [步驟] 頁面,然後選取 [新增] 開啟 [新增作業步驟] 對話方塊。
在 [新增作業步驟] 對話方塊中,選取
SSISDB
作為 [資料庫]。在 [命令] 欄位中,輸入與下列範例中所示指令碼類似的 Transact-SQL 指令碼:
-- 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
完成設定和排程作業。
排程套件作為 Azure Data Factory 管線的一部分
您可以使用觸發程序來執行將執行 SSIS 套件的 Azure Data Factory 管線,藉以間接排程套件。
若要排程 Data Factory 管線,請使用下列其中一個觸發程序:
若要執行 SSIS 套件作為 Data Factory 管線的一部分,請使用下列其中一個活動:
下一步
檢閱執行部署到 Azure 之 SSIS 套件的選項。 如需詳細資訊,請參閱在 Azure 中執行 SSIS 套件。