SSIS合并联接

时间:2018-09-26 18:57:53

标签: sql-server merge ssis

我们在测试服务器上安装了SQL Server 2012,并且我在2017年开发了SSIS程序包,在本地计算机上将“部署目标版本”设置为2012。

在包中,我有一个mergeJoin对象。整个程序包在我的本地计算机上运行良好,当我在2012年通过SQL Server代理在测试计算机上进行设置时,出现错误提示

  

要在SQL Server数据工具之外运行SSIS程序包,必须安装Integration Services的合并联接或更高版本

集成服务已安装在SQL Server 2012上。

是否有解决方案,或者是否有使用合并连接对象的解决方法,如果我可以替换为其他对象,请提出建议。

2 个答案:

答案 0 :(得分:2)

确定原来的测试计算机没有安装SSIS。令人困惑的是,还有其他在SQL Server代理下使用SSIS的作业已在测试中成功运行,仅此一项与合并Join一起失败。

我的结论是,程序包将在简单的SQL作业代理下运行,而无需在未安装SSIS的计算机上进行繁重的工作,但是为了使程序包运行合并联接或“不太直接”的对象,SSIS具有要安装以运行程序包。

答案 1 :(得分:0)

关于不使用合并联接,如果要联接的数据源来自同一关系数据库,则可以仅在源查询中使用JOIN而不是使用合并联接。如果要加入的源来自平面文件或其他数据库,则需要先将数据加载到暂存区,然后创建一个新的数据流任务,在其中可以在源查询中使用JOIN来加入数据源。