我需要将大型本地 SQL 数据库同步到服务器数据库,反之亦然。这两个数据库结构完全相同。我们需要每天早上一次从在线服务器获取最新数据。本地数据库会不断更新,并且每隔一小时左右就需要使用本地数据更新服务器数据库。
我想用 .Net winforms 应用程序来做。
我认为我可以分两部分来实现这一点:
- 创建在线数据库的备份,然后下载它并使用该备份文件恢复本地数据库(因为我们的在线数据库已更新)。
- 然后说一个小时后我将检查本地数据库中的新条目并在在线数据库中更新/插入新条目。
但是我在这种方法中有一些问题:
当我们下载大型数据库备份文件时,它已经损坏了好几次。
我的数据库有父/子关系表的主键和外键引用。因此,如果我在在线数据库中生成一个新行,那么它将在在线数据库中生成新的 ID。那么如何维护引用呢?
我从来没有处理过这种情况,我不知道实现这一目标的不同方法,所以请尽可能好地解释自己。
非常感谢。