2017-09-20 109 views
0

我们正在寻找从合作伙伴的Microsoft SQL服务器收集数据并将其导入到我们自己的SQL Server中。我们想要做的一部分是将所有数据分开,然后将它们结合在一起,以便我们可以创建基线来比较他们如何相互对抗。我很想知道可能有哪些最佳实践或建议可以实现这一目标?从多个SQL服务器导入数据

我能想到的最简单的方法是将它们设置为SQL Server上的链接服务器,然后编写存储过程(并使用SQL Server代理程序自动执行计划)以将数据从每个表导入到本地表。我也开始考虑第三方系统来做这件事(例如stitchdata),但是没有看到能够将数据导回到本地的那些系统,他们中的大多数似乎将数据导入到云数据库解决方案中。

有没有人做过类似的事情,可以帮助我们走向正确的方向?

谢谢!

+0

他们是否有人管理您需要获取的数据? –

+0

从我的一个建议是,不使用sql的。我做了很多次类似的事情,过了一段时间,这里有一点逻辑。例如在其他表中写入选定的数据(通过相同的条件)。之后,有越来越多的逻辑,并且它总是很难维护这个SQL代码。对我而言,好的方法是用C#编写一些wndows服务。开始时会很简单。良好的抽象会导致未来发展没有问题。 – Arkadiusz

+0

与将数据恢复到本地实例并从中迁移相比,通过远程链接服务器的速度会非常慢。客户是否愿意向您发送当前的.BAK? –

回答

0

要使用SQL工具解决此问题,您需要创建一个临时数据库来加载所有外部信息。

要收集数据,您可以使用SSIS包直接连接到源。并计划在SQL ServerAgent的包

我避免使用链接的服务器ETL的原因有很多建议,但对我来说最重要的是:

  • 如果远程服务器不可用,所有的ETL过程可能是破碎。
  • 这个过程本来就和原点紧密联系在一起,如果来源发生变化,你需要重建很多东西。

Tou可以使用或不使用SP来加载和比较最终数据库和舞台之间的表。这取决于数据库是否位于同一服务器上,性能等。