你的位置:首页 > 数据库

[数据库]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 运行包时会报错-说明: 无法解密受保护的 
 
  2) 导入完成后可在Managemenet Studio中执行语句

  xp_cmdshell 'dtexec /DTS "\MSDB\wangluo" /SERVER "XXW2006_1"  /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V '