现在的位置: 首页 > 综合 > 正文

关于DTS包运行成功,而作业里运行失败的问题

2014年01月02日 ⁄ 综合 ⁄ 共 615字 ⁄ 字号 评论关闭

问题产生:

DTS建好后,运行-->成功导入数据,这个DTS包导数据的作业是系统自动建立的,

因为在建DTS包的时候设置了调度时间,所以系统自动创建了该作业,但明明运行DTS成功了,

在管理-->Sqlserver代理-->作业里显示失败,而且手动执行作业,也同样失败。。。

 

产生原因:

手动运行DTS包时的帐户为你操作数据库的当前帐户,在作业里运行DTS包时,依赖于sqlserveragent服务,会受到sqlserveragent服务的帐户设置影响.由于这两个帐户不同而导致了作业里自动运行DTS包时失败!

 

解决方案:

在sqlserver 管理-->Sql Server代理-->作业
中选中失败的作业,右键-->属性-->步骤 看到你的DTS包后(包名即步骤名),点下面的"编辑",

在 "常规" 里面 "类型" 下拉条中选中
Transact-SQL脚本(TSQL)

在 "数据库(D)" 下拉条中选中 master


"命令(M)" 文本框中输入语句:master..xp_cmdshell 'dtsrun /s
192.168.163.130 /u sa /p hahaha /n testDTS'

其中192.168.163.130为DTS包所保存的位置,sa
为用户名,hahaha为密码,testDTS为DTS包的包名.

然后点上面 "常规" 旁边的 "高级",在下面
"作为用户运行(E)" 中选择dbo。

 

OK,然后就是确定,应用,确定了。

至此,问题解决,手动运行作业,成功!!!

抱歉!评论已关闭.