我正在使用 Microsoft Sync Framework 在 N 层客户端服务器架构中同步数据。当要同步的数据量较少时,同步工作正常。但是,当需要同步大量数据时,我面临数据库锁定问题。这种行为的主要原因似乎是长时间运行的事务,这会导致来自多个同步代理的其他事务被阻止。我已经对此进行了以下测试:
Sql Server 2008 --> 物理机/ VM - 失败,出现锁定问题
Sql Server 2008 R2 --> 物理机/ VM - 在物理上成功,在 VM 上失败
请建议,导致这种行为的问题可能是什么。我相信这种行为超出了同步框架域,因为同步框架为批处理打开了一个事务(我正在使用同步批处理)并在批处理完成时提交。但是,我无法理解多个数据库对象被锁定时的行为(长时间运行的事务,即使我注意到几乎所有的表对象都被锁定了!),