Sql server 从多个SQL Server导入数据

Sql server 从多个SQL Server导入数据,sql-server,warehouse,Sql Server,Warehouse,我们正在考虑从合作伙伴的Microsoft SQL Server收集数据,并将其导入我们自己的SQL Server。我们想做的一部分是分别获取他们的所有数据,然后将它们组合在一起,这样我们就可以创建基线,了解他们彼此之间的相对表现。我很想知道实现这一目标的最佳实践或建议是什么 我能想到的最简单的方法是将它们设置为SQL Server上的链接服务器,然后编写存储过程(并使用SQL Server代理自动执行计划),将数据从每个表导入本地表。我也开始考虑使用第三方系统(例如stitchdata),但没

我们正在考虑从合作伙伴的Microsoft SQL Server收集数据,并将其导入我们自己的SQL Server。我们想做的一部分是分别获取他们的所有数据,然后将它们组合在一起,这样我们就可以创建基线,了解他们彼此之间的相对表现。我很想知道实现这一目标的最佳实践或建议是什么

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

以前有没有人做过类似的事情,能够帮助我们朝着正确的方向前进


谢谢大家!

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

要收集数据,可以使用SSIS包直接连接到源。并在SQLServerAgent上计划包

出于许多原因,我避免使用链接服务器进行ETL,但对我来说最重要的是:

  • 如果远程服务器不可用,则所有ETL进程都可能中断
  • 这个过程与原点有着紧密的联系,如果原点发生了变化,你将需要重建很多东西

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

要使用SQL工具解决此问题,一种方法是创建一个暂存数据库以加载所有外部信息

要收集数据,可以使用SSIS包直接连接到源。并在SQLServerAgent上计划包

出于许多原因,我避免使用链接服务器进行ETL,但对我来说最重要的是:

  • 如果远程服务器不可用,则所有ETL进程都可能中断
  • 这个过程与原点有着紧密的联系,如果原点发生了变化,你将需要重建很多东西

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

他们是否有人管理您需要获取的数据?我的一个建议是不要使用sql。我做过很多次类似的事情,过了一段时间,这里面有一点逻辑。例如,在其他表中写入选定数据(按相同条件)。此后,逻辑越来越多,维护这段sql代码变得越来越困难。对我来说,一个好办法就是用C#编写一些wndows服务。这将是非常简单的开始。良好的抽象将导致未来的开发不会出现问题。与将数据恢复到本地实例并从那里迁移相比,通过远程链接服务器将非常缓慢。客户会给你发电流吗?巴克?罗斯,严格来说他们不会。但是,我们所有的合作伙伴都使用同一个系统,因此所有数据的结构都是相同的。是的。BAK是一个很好的开始-只需将其BAK本地恢复到同一服务器上的多个数据库中,然后跨它们运行查询。从技术上讲,这是最简单的解决方案。有许多更复杂的解决方案(复制、镜像等),但我认为没有必要这样做。他们是否有人管理您需要获取的数据?我的一个建议是,不要使用sql来实现这一点。我做过很多次类似的事情,过了一段时间,这里面有一点逻辑。例如,在其他表中写入选定数据(按相同条件)。此后,逻辑越来越多,维护这段sql代码变得越来越困难。对我来说,一个好办法就是用C#编写一些wndows服务。这将是非常简单的开始。良好的抽象将导致未来的开发不会出现问题。与将数据恢复到本地实例并从那里迁移相比,通过远程链接服务器将非常缓慢。客户会给你发电流吗?巴克?罗斯,严格来说他们不会。但是,我们所有的合作伙伴都使用同一个系统,因此所有数据的结构都是相同的。是的。BAK是一个很好的开始-只需将其BAK本地恢复到同一服务器上的多个数据库中,然后跨它们运行查询。从技术上讲,这是最简单的解决方案。有许多更复杂的解决方案(复制、镜像等),但我认为没有必要这样做