3

我的任务是在内部在线获取我们的 SQL Server 2005/2008 数据库的副本并每天更新它们。与每个站点的连接受到监管,因此在线访问不是一种选择。现场数据库是工作组许可的。主服务器是企业级服务器,拥有大量的处理器和 RAM。副本的目的有两个:(1)在线备份和(2)ETL到数据仓库的来源。

大约有 300 个数据库,大部分模式相同,分布在美国、加拿大和墨西哥。当前的数据库大小介于 5 GB 和 1 TB 以上。活动各不相同,但每台服务器每天大约有 1,500,000 行新行,主要在 2 个表中。每个大约有 50 张桌子。每个站点的连接质量和带宽各不相同,但主站点有足够的带宽来并行处理许多站点。

我在考虑 SSIS,但不知道如何处理这个任务,而不是逐个表。任何人都可以提供任何指导吗?

4

1 回答 1

0

老实说,我建议使用 SQL 复制。我们经常这样做,它甚至可以通过拨号进行。它基本上最大限度地减少了所需的流量,因为只传输了更改。

有几种拓扑。我们只使用合并(两种方式),但事务性可能满足您的需求(一种方式)。

我们的环境是一个单一的中央数据库,复制(使用过滤的复制文章)到各种站点数据库。中央数据库是发布者。一旦到位,它就很健壮,但是对于架构升级来说是一件麻烦事。

但是,鉴于您的数据库不是同质的,在远程站点是发布者的地方设置它可能更容易,并且中央 SQL 实例有一个每个站点的数据库,它是站点发布者的订阅者。文章甚至不需要过滤。然后您可以集中处理各个站点数据。

请注意,站点数据库需要安装复制组件(它们在安装程序中通常是可选的)。要设置为发布者,他们还需要本地配置(在每个发布者上配置分发)。作为工作组版,它可以充当出版商。SQL express 不能充当发​​布者。

这听起来很复杂,但它实际上只是程序性的,并且是做这类事情的内置机制。

于 2013-12-18T01:55:16.830 回答