3

我有 2 个 azure sql db,并且我创建了 SSIS 作业以将一些数据从 1 个 db 传输到另一个。数据库有数百万条记录

SSIS 是在本地托管的,如果我在我的电脑上执行包,

它会直接将数据从 1 个 azure db 直接复制到另一个 azure db 还是从 1 个 azure db 获取数据到我的本地,然后将数据上传到另一个 azure db

如果我有数百万条记录,从 azure 到 local 再从 local 到 azure 的旅行成本太高了。

我知道 azure 数据同步,但我的要求需要 ssis 来传输特定数据。此外,天蓝色数据同步是否可以选择仅同步特定表?

4

2 回答 2

4

在本地计算机上运行 SSIS 包将导致数据在发送到目标数据库之前移动到您的计算机。

在 SQL Azure 数据同步中配置同步组时,您应该能够选择要同步的表。

于 2011-11-18T13:50:30.797 回答
3

我很确定 SQL Azure 数据同步确实可以选择只选择您需要传输的表。但是,我认为没有对正在传输的数据进行转换的选项。

至于 SSIS,如果没有数据首先到达您的场所,我不知道如何进行传输。您必须建立连接 - 与第一个 SQL Azure 建立一个连接,然后与第二个 SQL Azure 服务器建立另一个连接。SSIS 将从第一个流(连接)中提取数据,然后将其推送到第二个流。

我建议探索 SQL Azure 数据同步,因为它可能是您的方案的最佳选择。任何其他选项都需要数据首先进入本地,然后再传输回云端。

好吧,还有第三种选择。您基于 ADO.NET 和 SqlBulkCopy 类创建一个简单的工作程序。将您的工作人员置于云中的工作人员角色,并通过 Azure 队列中的消息触发它。嗯。这似乎是一些最好的解决方案,因为您可以完全控制正在复制的内容。因此,所有数据都将保留在 MSFT 数据中心,这意味着:

  1. 快速传输
  2. 没有带宽费用(只要所有 3 - 2 x SQL Azure 服务器 + 1 x Worker 角色都部署在同一个关联组中)
于 2011-11-18T13:52:19.020 回答