从2个不同的数据库服务器中检索数据

问题描述:

我有3个不同的数据库服务器。我们称它们为A,B和C.我需要从A和B(这些是不同的数据库服务器)获取数据库,并将它们放在第三个数据库服务器“C”中。从2个不同的数据库服务器中检索数据

你知道该怎么做吗?

感谢

+1

可能会有人知道它。所以答案是肯定的。 – Kaf

+1

**什么**数据库系统/产品? –

+0

是的,我知道该怎么做。我赢得奖品吗? – Leigh

三个选项

  1. 代码的东西,连接到& B,巩固信息来源,连接到C和保存有
  2. 使用产品,可让您连接到数据库读取从表中插入并插入到其他表中,如SQL Server Integration Services,并设计一个与步骤1完全相同的流。
  3. 根据引擎的不同,您可能能够转储一个& B的S和加载它们在C,例如,你可以从一个& B中插入语句转储所有数据,并用C执行它们(假设表已经存在和不存在PK冲突)

这应该让你去。

+0

谢谢卡洛斯。它看起来像第二个选项是合理的,但我试图从A和B采取一个完整的数据库,并将其放入C数据库服务器。这不是一个单一的工作。如果我可以在ETL ssis包中完成,那么我可以安排它。我认为没有etl,可能有一些sql命令允许先备份A然后B,然后用C还原它们。用C#编写项目是我的最后一个选择。它可以是一个选项,但我认为我可以在SQL数据库端用一个好的SQL知识人员的帮助来处理它。 –

+0

如果是周期性的东西,SSIS是要走的路。此外,如果您在向C中投入数据之前需要执行某些操作,您可能可以通过备份获得,但其风险很大,笨拙并最终不值得付出。使用SSIS,如果适用的工具。 –

+0

我不是SSIS的专家,但现在我会尝试。非常感谢carlos。 –

不是没有工具或以编程方式。我认为SQL Management studio允许你将多个服务器作为一个组来查询,但是结果集会在屏幕上显示出来。

你还没有指定使用什么类型的服务器,所以你有点卡住导出数据从服务器A和B到磁盘,将数据加载到临时表中,然后从那里进入。

如果您使用的是Oracle,你可以定义服务器A & B中的远程服务器和您正在使用哪种服务器直接从C.

查询呢?有很多方法可以做这样的操作。

  • 如果你的数据库不是太大,你可以把数据库导出,然后将它们合并成一个脚本文件并在第三个数据库上运行它。
  • 您可以使用ETL机制来传输数据。
  • 如果服务器位于同一服务器场中,则可以编写查询以选择数据并在服务器之间插入。

如果你指定服务器类型,我可以给出更具体的例子。

+0

sagol ali。 ETL yolu ile denicem bakalim ... –