萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> sql server代理中作業執行SSIS包失敗的解決辦法

sql server代理中作業執行SSIS包失敗的解決辦法

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 '

copyright © 萬盛學電腦網 all rights reserved