Sql-Server
執行 Powershell 腳本時,部署到 SQL Server 的 SSIS 包掛起
我們有一個 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 位安裝。