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

问题产生:

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,然后就是确定,应用,确定了。

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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页