RT,執行失敗了,總是只提示一句“以xxxx用戶身份執行失敗”,很難找原因。
引用 http://bbs.csdn.net/topics/300059148
Sql2005如何用dtexec運行ssis(DTS)包
一、首先在Business Intelligence中設計好包,並調試通過。
二、選用dtexec工具運行包
(一) 打開 xp_cmdshell 選項
SQL Server 2005 中引入的 xp_cmdshell 選項是服務器配置選項,使系統管理員能夠控制是否可以在系統上執行 xp_cmdshell 擴展存儲過程。默認情況下,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 '