我正在使用微软同步框架 https://msdn.microsoft.com/en-us/sync/bb736753.aspx同步两个 Microsoft SQL Server 上的表。我创建了一个测试应用程序,它每秒在远程服务器上的表中生成一行。使用同步框架的应用程序在本地服务器上运行。测试应用程序一晚上在数据库中创建了大约 52000 个条目。同步应用程序执行了对SyncOrchestrator.Synchronize 方法 https://msdn.microsoft.com/en-us/library/microsoft.synchronization.syncorchestrator.synchronize%28v=sql.105%29.Aspx每 15 秒一次。当我通过在同步表和远程表上执行计数语句来检查同步应用程序的结果时,结果是同步表中缺少 295 行。我用的是tablediff 实用程序 https://msdn.microsoft.com/en-us/library/ms162843.aspx确定丢失行的 ID,然后使用这些 ID 查询跟踪表。在远程数据库上,跟踪表中的每个丢失的 id 都有一个条目,而在本地数据库上,跟踪表中找不到丢失行的 id。当我重新启动同步应用程序时,丢失的条目也不会更新。我认为同步框架会自动解决这些不一致问题,但不幸的是我似乎错了。
是否有任何内置方法可以用来验证同步过程是否已成功进行?还有其他方法来验证数据一致性吗?
当 DML 和同步同时运行时,更改枚举会出现问题。看看这个hotfix https://support.microsoft.com/kb/2530271如果有帮助的话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)