Sql-Server

執行 Powershell 腳本時,部署到 SQL Server 的 SSIS 包掛起

  • September 24, 2018

我們有一個 SSIS 包,它整理了一些文件和文件夾,並希望通過 SQL Server 代理每天晚上自動執行它。

通過 Visual Studio(2015 和 2017)執行包時,包成功完成。當程序包部署到 SQL Server 2012 時,它永遠不會超過執行 Powershell 腳本的元素 - 它只是永遠掛起(迄今為止的記錄是 3 天)。

SSIS數據流:

數據流

“執行壓縮 PowerShell 腳本”任務:

執行流程任務

Powershell 腳本非常基礎——兩行程式碼:

$filePathName = $args[0];

Compress-Archive -Path $filePathName -DestinationPath $filePathName

我們認為這可能是權限問題,但我們不確定在哪裡進一步推進。

任何幫助都將不勝感激。

謝謝

SSIS 元素是一條紅鯡魚。問題是執行腳本時傳遞給 PowerShell 的執行策略。

從改變

-ExecutionPolicy 不受限制

-ExecutionPolicy 繞過

已解決問題。

假設您通過 SQL Server 代理作業執行包,您是作為 SQL Server 代理服務帳戶還是自定義代理執行該步驟?這將決定 PoSh 腳本執行的上下文。

此外,在 SSIS 作業步驟的執行選項選項卡下,您是在啟用 32 位還是 64 位模式的情況下執行的?這將為 SQL 實例的體系結構設置,而 Visual Studio 可能是 32 位安裝。

引用自:https://dba.stackexchange.com/questions/216923