如何将一个在线sql数据库与另一个离线数据库同步?
问题描述:
我需要将大型本地SQL数据库同步到服务器数据库,反之亦然。这两个数据库结构完全相同。我们需要每天早上从网上服务器获取最新数据。本地数据库不断更新,每个小时左右,服务器数据库都需要使用本地数据进行更新。如何将一个在线sql数据库与另一个离线数据库同步?
我想用.Net winforms应用程序来做到这一点。
我认为我可以在两个部分实现这一目标为:
- 创建在线数据库的备份,然后将其下载并恢复与备份文件的本地数据库(如我们的在线更新数据库之一) 。
- 然后说一个小时后我会检查本地数据库中的新条目并更新/插入在线数据库中的新条目。
但是我对这种做法的一些问题:
当我们下载大型数据库的备份文件,几次它被损坏了。
我的数据库具有父/子关系表的主键和外键引用。所以如果我在在线数据库中生成一个新行,那么它会在在线数据库中生成新的Id。那么我如何保持参考?
我从来没有与这种情况下工作,我不知道实现这个不同的方式,所以请尽可能好地解释自己。
非常感谢。
答
我发布了一篇关于在线脱机数据库同步的文章。在这里您可以找到如何同步多个数据库(相同的模式)。应该有一个主数据库,其他人将根据它进行更新。你可以试试这个:http://blog.ankitverma.com/2010/03/onlineoffline-database-synchronization/
答
您可以使用以下软件数据库同步的一个: