DTS - 手动步骤执行提供的结果不仅仅是点击“运行”

时间:2009-09-01 12:47:21

标签: sql-server dts

我有一个DTS(不是SSIS)包,多年来我没有用它来更新查询。当我通过手动执行编辑器中的每个步骤来运行包时,一切正常,并按预期生成了几千条记录的文件。当我点击编辑器顶部的“执行”按钮运行整个包时,它不会出错,但只生成一条记录文件。

包内的所有任务都是转换步骤或Sql Tasks。没有任何ActiveX脚本任务。当我看到该过程本身正在运行时,执行正确地遵循映射。

我对这个感到茫然。有没有人见过这个问题,或者知道从哪里开始?

2 个答案:

答案 0 :(得分:0)

我最近遇到了类似的问题。在与高级DBA合作时,我们发现运行包的服务器没有对网络目录的正确权限。包装在我的盒子里运行正常,但在生产服务器上死了。我们需要在生产盒上为sqlservice帐户授予权限,以写入网络上的目录。

您可能还想查看更改Data Pump步骤的连接字符串或目标的任何ActiveX脚本步骤。我在DTS包运行的目标服务器上遇到了不同的情况。

答案 1 :(得分:0)

在浏览了包中使用的所有存储过程和直接sql任务的所有行之后,我找到了一个从未重置过的SET ROWCOUNT 1。当我分别手动执行每个步骤时,RowCount将自动重置;但是,当它作为一个完整的包运行时,RowCount从未重置。在特定脚本的末尾添加SET ROWCOUNT 0解决了这个问题。