RT,執行失敗了,總是只提示一句“以xxxx使用者身份執行失敗”,很難找原因。
引用 http://bbs.csdn.net/topics/300059148
Sql2005如何用dtexec運行ssis(DTS)包
一、首先在Business Intelligence中設計好包,並調試通過。
二、選用dtexec工具運行包
(一) 開啟 xp_cmdshell 選項
SQL Server 2005 中引入的 xp_cmdshell 選項是伺服器配置選項,使系統管理員能夠控制是否可以在系統上執行 xp_cmd殼層延伸預存程序。預設情況下,xp_cmdshell 選項在新安裝的軟體上處于禁用狀態,但是可以通過使用介面區配置器工具或運行 sp_configure 系統預存程序來啟用它,如下面的程式碼範例所示:
To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO – To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO – Chinaz^com To update the currently configured value for this feature. RECONFIGURE GO
(二) 利用dtexec 工具 + 生產力執行包
方式一:直接通過允許ssis檔案執行
使用如下命令 :xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"
方式二: 先將包匯入sql 2005在執行
1)匯入包
SQL2005開啟Managemenet Studio,選擇接Integration Services服務,選擇“已儲存的包”-”MSDB“,右鍵匯入包,選擇檔案系統,指定用Business Intelligence Development Studio做好的包,選擇匯入
注意:保護層級選項中需要選擇依靠伺服器儲存和角色進行存取控制
否則通過dtexec 運行包時會報錯-說明: 無法解密受保護的 XML 節點“DTS:Password”,錯誤為 0x8009000B“該項不適於在指定狀態下使用。”。可能您無權訪問此資訊。當發生加密錯誤時會出現此錯誤。請確保提供正確的密鑰。
2) 匯入完成後可在Managemenet Studio中執行語句
xp_cmdshell 'dtexec /DTS "\MSDB\wangluo" /SERVER "XXW2006_1" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V '