我有一個.dtsx文件(一個SSIS包),用於從FTP服務器下載文件並導入數據。它在我手動運行時運行良好。但是,當我計劃將程序包作爲SQL Server代理作業中的一個步驟調用時,它會失敗。它失敗的步驟是我稱之爲.bat文件的步驟。在作業歷史記錄查看器中的錯誤這樣說:當作爲SQL中的步驟調用時,SSIS包不運行
Error: 2009-05-26 12:52:25.64
Code: 0xC0029151 Source: Execute batch file Execute Process Task
Description: In Executing "D:\xxx\import.bat" "" at "", The process exit code was "1" while the expected was "0". End Error DTExec: The package execution returned DTSER_FAILURE (1).
我認爲這是一個權限問題,但我不知道如何解決這個問題。作業所有者是管理員用戶,因此我已驗證他們有權訪問.bat文件所在的目錄。我試過進入服務並更改SQL Server代理的「登錄爲」選項,並且這兩個選項都不起作用(本地系統帳戶和此帳戶)。有沒有人有任何其他權限需要調整,以使其工作的想法?
批處理文件在SSIS中的一個步驟中執行。這是一個執行進程任務。 從命令窗口運行時,批處理文件運行成功。當我手動運行SSIS包時,它也能成功運行。這就是爲什麼我認爲這個問題與權限有關,也許是MSSQLAGENT? – Pamela 2009-05-27 23:21:20
當您遠程執行SSIS服務器時,是否通過runas命令執行批處理文件? 這應該使用SSIS執行它的權限執行它。 當你在Visual Studio中執行SSIS包時,它是否會給你同樣的錯誤? – Dane 2009-05-27 23:41:36
感謝您的幫助,戴恩!我做了一些故障排除,並將該批處理文件作爲SQL作業中的一個步驟執行,並以此方式獲得了更有用的錯誤消息。從那裏,我能弄清楚這個問題! (請參閱下面的消息。) – Pamela 2009-05-28 00:29:47