[SQL SERVER][SSIS]如何使用Store Procedure呼叫SSIS Package

[SQL SERVER][SSIS]如何使用Store Procedure呼叫SSIS Package

看到網友發問是否能使用Stored Procedure呼叫SSIS?

雖然方法有很多,這裡記錄我自己常使用的方法(Using SQL Agent Job),

也希望對該網友有所幫助。

 

需求:使用SP呼叫SSIS Package,成功後利用Mail通知DBA。

 

一、新增 SQL Server Agent Mail(假設該資料庫已啟用DataBase Mail並設定正常)

啟用郵件設定檔

image

SQL Server Agent=>警示系統,設定完成後請重新啟動Agent

(因為SQL Server Agent 會快取設定檔資訊,所以只要有任何變更就得重啟SQL Server Agent才會生效)。

 

新增操作員

image

image

新增要接受通知的人員:名稱和店子郵件名稱。

image

 

二、Create Job

image

請先確認相關dtsx檔案編譯成功。

 

image

填入Job Name。

 

image

新增步驟。

 

image

選擇SSIS封裝並指定dtsx檔案來源。

 

image

確認相關資料來源。

 

設定通知

image

選取先前所建立操作員。

 

目標資料庫

image

沒有任何資料。

 

SP內容

ALTER PROCEDURE [dbo].[usp_ExecSSIS] 
    -- Add the parameters for the stored procedure here
    @jobname varchar(30)    
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @returncode int
    EXEC @returncode=msdb.dbo.sp_start_job @jobname 
    select @returncode   
END

 

 

 

執行SP

image

執行成功。

 

確認資料表資料

image

資料新增成功。

 

確認信件

image

image

訊息:作業成功。