欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql server代理中作业执行SSIS包失败的解决办法

程序员文章站 2023-11-18 19:59:28
rt,执行失败了,总是只提示一句“以xxxx用户身份执行失败”,很难找原因。 引用 sql2005如何用dtexec运行ssis(dts)包 一、首先在busine...

rt,执行失败了,总是只提示一句“以xxxx用户身份执行失败”,很难找原因。

引用

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 '