sql server代理中作业执行SSIS包失败的解决办法
RT,执行失败了,总是只提示一句“以xxxx用户身份执行失败”,很难找原因。
引用http://bbs.csdn.net/topics/300059148
Sql2005如何用dtexec运行ssis(DTS)包
一、首先在BusinessIntelligence中设计好包,并调试通过。
二、选用dtexec工具运行包
(一) 打开xp_cmdshell选项
SQLServer2005中引入的xp_cmdshell选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行xp_cmdshell扩展存储过程。默认情况下,xp_cmdshell选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行sp_configure系统存储过程来启用它,如下面的代码示例所示:
Toallowadvancedoptionstobechanged. EXECsp_configure'showadvancedoptions',1GO– Toupdatethecurrentlyconfiguredvalueforadvancedoptions.RECONFIGUREGO--Toenablethefeature. EXECsp_configure'xp_cmdshell',1GO–Chinaz^com Toupdatethecurrentlyconfiguredvalueforthisfeature.RECONFIGUREGO
(二)利用dtexec实用工具执行包
方式一:直接通过允许ssis文件执行
使用如下命令:xp_cmdshell'dtexec/f"C:\UpsertData.dtsx"
方式二:先将包导入sql2005在执行
1)导入包
SQL2005打开ManagemenetStudio,选择接IntegrationServices服务,选择“已存储的包”-”MSDB“,右键导入包,选择文件系统,指定用BusinessIntelligenceDevelopmentStudio做好的包,选择导入
注意:保护级别选项中需要选择依靠服务器存储和角色进行访问控制
否则通过dtexec运行包时会报错-说明:无法解密受保护的XML节点“DTS:Password”,错误为0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误。请确保提供正确的密钥。
2)导入完成后可在ManagemenetStudio中执行语句
xp_cmdshell'dtexec/DTS"\MSDB\wangluo"/SERVER"XXW2006_1"/MAXCONCURRENT"-1"/CHECKPOINTINGOFF/REPORTINGV'