0

我需要将大型本地 SQL 数据库同步到服务器数据库,反之亦然。这两个数据库结构完全相同。我们需要每天早上一次从在线服务器获取最新数据。本地数据库会不断更新,并且每隔一小时左右就需要使用本地数据更新服务器数据库。

我想用 .Net winforms 应用程序来做。

我认为我可以分两部分来实现这一点:

  1. 创建在线数据库的备份,然后下载它并使用该备份文件恢复本地数据库(因为我们的在线数据库已更新)。
  2. 然后说一个小时后我将检查本地数据库中的新条目并在在线数据库中更新/插入新条目。

但是我在这种方法中有一些问题:

  1. 当我们下载大型数据库备份文件时,它已经损坏了好几次。

  2. 我的数据库有父/子关系表的主键和外键引用。因此,如果我在在线数据库中生成一个新行,那么它将在在线数据库中生成新的 ID。那么如何维护引用呢?

我从来没有处理过这种情况,我不知道实现这一目标的不同方法,所以请尽可能好地解释自己。

非常感谢。

4

4 回答 4

2

也许您可以尝试一下Microsoft Sync Framework

于 2011-01-28T11:43:04.167 回答
2

听起来你最好使用 sql server 复制而不是自己编写

链接到 msdn 信息

于 2011-01-28T11:03:47.383 回答
0

您可以使用以下软件之一进行数据库同步:

  1. Sql 比较:http ://www.red-gate.com/products/sql-development/sql-compare/
  2. Sql 三角洲:http ://www.sqldelta.com
于 2012-11-12T08:44:41.237 回答
0

我发了一篇关于在线离线数据库同步的文章。在这里你可以找到如何同步多个数据库(相同的模式)。应该有一个主数据库,其他数据库将根据它进行更新。你可以试试这个:http ://blog.ankitverma.com/2010/03/onlineoffline-database-synchronization/

于 2011-02-14T09:29:05.370 回答