我有两个未链接的服务器,一个生产和一个报告。我使用SSIS包逐步更新报表服务器上的表。在报告服务器上,我有一个临时表,列出了需要更新或导入的项目。目前,我有一个数据流任务,它从源服务器提取源表,查找登台表,然后更新目标表。我的问题是我不想每次运行更新时都必须拉出整个源表。有没有办法使用报表服务器的登台表从生产服务器中选择数据?基本上我希望我的数据源查询看起来像这样。
SELECT * FROM ProductionDatabase.SourceTable
WHERE SourceTable.Key IN (SELECT Key FROM ReportingDatabase.StagingTable)
感谢您关注此事。我是SSIS的新手,绝对可以使用一些帮助。
答案 0 :(得分:0)
SSIS允许您使用合并转换,这应该允许您执行您想要执行的操作。这是SSIS的优势之一,它可以混合和匹配来自不同数据源的数据。因此,将此作为SSIS数据流的一部分,不要尝试使用直接SQL。
这假设密钥是唯一值,否则您可能需要调整内容以使行数不会扩展,但您应该能够使用Merge然后有条件地传递行仅找到匹配。