3

一年前我们开始了一些海外合并复制,到目前为止一切都很好。我的问题是,我们的系统中现在有如此多的数据,以至于订阅者的服务器上的任何崩溃都将是一场灾难:以标准方式重新初始化订阅将需要几天时间(我们的连接肯定很慢,但已经非常非常昂贵)!我一直在跟进的想法如下:

  1. 制作原始数据库的副本,冻结它,通过飞机将文件发送给订阅者,然后在没有快照的情况下启动复制:这是传统上使用旧版本 SQL 完成的事情,但对我来说听起来有点混乱:我将不得不将我的发布者的数据置于只读模式并停止所有复制,直到操作完成。
  2. 制作数据快照,将快照文件发送到国外,将它们安装在订阅服务器上,并在复制属性中将新快照位置指示为备用位置。这对我来说听起来很公平(没有必要暂停正在进行的复制,没有数据冻结),但是,在这一点上,微软的帮助没有......帮助。

我相信你们中的一些人已经经历过这样的情况。你的选择是什么?

编辑:当然,有人可以说“你为什么不尝试一下你的想法”,但这需要几个小时(sql-servers、虚拟机和所有这些东西的多个实例......),而我以为做这件事的人只需要 2 分钟就可以解释他的想法。如果有人愿意腾出 2 分钟的时间来为我节省数小时的辛勤工作,我将是最幸福的人……

4

2 回答 2

1

我们刚刚经历了这样的事情,它并不漂亮。尽管涉及的所有服务器都是本地的,但仍然需要很长时间。

只是为了让事情变得更加困难,至少对于 SQL 2000,如果压缩的 cab 超过 4 Gig,快照将失败。

我能提供的最佳建议是确保每个站点都有可用的良好备份。这样一来,至少不必将数据随身携带给订户。

于 2008-09-24T21:01:05.000 回答
1

在将数据从加利福尼亚州洛杉矶复制到中国时,我不得不做类似的事情。使用正常方法加载快照需要 44 天。

我所做的是将 SQL 复制配置为使用快照的本地路径。然后我禁用了事务工作(在你的情况下是合并工作)。然后我运行了快照。我将快照压缩并将文件从加利福尼亚通过 FTP 传输到中国。当他们到达中国时,我将它们解压缩并将它们放在我在加利福尼亚使用的相同文件夹路径中。

然后我从中国服务器上的命令行运行 distrib.exe。这会将数据加载到中国的表中。加载快照后,我关闭了中国服务器上的分销商并启动了加利福尼亚服务器上的普通分销商。

这种方法只用了大约 28 小时,而不是一个多月。

如果您的数据需要几天时间才能到达目的地,那么您将需要编辑发布并增加可以排队的数据量,否则订阅者将超时并且需要创建新快照采取。

于 2009-01-06T08:01:26.397 回答