我需要将大型本地 SQL 数据库同步到服务器数据库,反之亦然。两个数据库结构完全相同。我们需要在用户登录或同步数据时同步数据。 我想使用 .Net winforms 应用程序来完成此操作。
我认为我可以通过手动方式实现这一点:
但是我在这种方法中遇到了一些问题:
数据库很大,处理它需要很长时间,这将需要很长时间处理数据,并且它将通过多个设备而不是一个设备进行
我尝试使用名为 SriLibs.DataSync.MSSQLSERVER.Core 的包,但它总是通过日期时间等数据类型的异常,如果该列具有默认值 01/01/0001,如果我可以重写此行为,它将通过异常如何我能做到
您可以使用日志传送
或
您可以为所有记录提供最新更新或创建日期的时间戳。了解您上次检索数据的时间将提供要同步哪些新数据或更改的数据的信息。
现在,如果您有硬删除,那么创建另一个包含要删除的表名和 ID 的数据库并将记录插入到该数据库中是有意义的,这样您稍后就会知道在同步时需要从副本中删除什么并定期清理该数据库的旧记录。
或
您可以在副本上公开一个端点,并在主数据库有要执行的写入操作时请求这些端点。
如您所见,您有多种可能的解决方案,您可以选择最适合您场景的解决方案。