2015-03-31 97 views
0

我有一個存儲過程,它使用EXEC SSISDB.CATALOG.start_execution @Execution_Id方法運行並調用SSIS pacakge。從存儲過程調用另一個帳戶下的SSIS包

但是我需要在具有更多權限的服務帳戶下執行包,而不是用戶的帳戶。

使用EXECUTE AS LOGIN =不起作用。有誰知道如何做到這一點。我知道的唯一其他方式涉及代理作業和代理帳戶。

當然有一種簡單的方法可以在SQL 2012上實現這一點?

+0

我已經在過去使用代理作業和代理帳戶解決了這個問題。 – 2015-03-31 14:53:53

回答

0

'EXECUTE AS'對我來說工作正常。

需要注意的一件事是在調用execute方法之前將上下文切換到SSIS目錄數據庫。因此,頂部的'USE'聲明。

USE SSISDB; 
EXECUTE AS LOGIN = 'domain\user' 

DECLARE @execution_id BIGINT 
EXEC CATALOG.create_execution @folder_name = 'MyFolder1', 
    @project_name = 'MyProject', @package_name = 'Package.dtsx', 
    @use32bitruntime = 1, @execution_id = @execution_id OUTPUT; 

EXEC CATALOG.start_execution @execution_id; 
相關問題