0

我有一个我无法弄清楚的问题。我创建了一个 SSIS 包,它使用 SQL 命令从 Server2 检索数据。查询非常简单,但是,它引用连接中的视图。如果我在 Server1 上手动执行 SSIS 包,它会检索 925 行并将其插入到 Server1 中的相应表中。当我安排这个 SSIS 包每晚运行时,问题就开始了。它在第一步成功(截断 Server1 上的表以准备从 Server2 检索行),但是,当我查看表时,有 0 行。当我修改查询以删除引用视图的联接(得到不想要的结果)时,计划的 SSIS 工作得很好,尽管我得到的记录集不是我想要的,因为我需要那个 JOIN。我不明白它怎么可能是一个权限问题,因为它在没有 VIEW 的情况下可以正常工作。有什么我想念的吗?谢谢您的帮助。

以下查询仅在我手动执行 SSIS 时有效:FilteredAccount 是一个视图它应该返回超过 900 行,如果我手动运行,则返回 0,但如果通过代理执行 SSIS,则返回 0。

SELECT B.epc_cosmid, A.consultant, A.region
FROM Consultant2TC AS A JOIN FilteredAccount AS B ON A.consultant = B.epc_serviceconsultantidname

如果我将查询更改为 SSIS 包中的以下查询并安排它,它工作正常:

SELECT A.consultant, A.region
FROM Consultant2TC AS A
4

1 回答 1

0

由于您从代理工作和您自己的登录中获得不同的结果,因此一个明显的起点是权限。当您在使用代理的凭据登录时从 SSMS 运行查询时会得到什么结果?

于 2013-09-12T14:30:08.140 回答