我目前在 POS 项目上。用户要求此应用程序可以在线和离线工作,这意味着他们需要本地数据库。我决定在每个商店和总部之间使用 SQL Server 复制。每个店铺都需要安装SQL Server Express,总公司已经有SQL Server Enterprise Edition。复制将按计划每 30 分钟运行一次,我选择合并复制,因为数据可以在商店和总部发生变化。
当我在做 POC 时,我发现这个解决方案不能正常工作,有时工作是错误的,我需要重新初始化它。这种解决方案也需要很长时间,这显然是用户无法接受的。
我想知道,有没有比我现在正在做的更好的解决方案?
更新1:
系统的约束是
- 几乎所有的交易都可以发生在商店和总部。
- 有些交易需要在实时模式下进行,也就是说,在用户将数据保存到本地商店后,数据也应该在总部更新。(如果他们目前在线)
- 即使他们的商店与总部数据库断开连接,用户也可以工作。
- 我们对数据量的估计是每天最多 2,000 行。
- Windows 2003 是总公司服务器的操作系统,Windows XP 是所有客户端的操作系统。
更新 2:
- 目前他们大约有 15 个客户,但这个数字将以相当缓慢的速度增长。
- 每次复制的数据大小约为 100 到 200 行,我认为可能不超过 5 MB。
- 客户端通过专线连接到服务器;128 kbps。
我的情况是复制需要很长时间(大约 55 分钟,而我们只有 5 分钟左右),如果我不重新初始化,我几乎需要重新初始化作业才能再次开始复制工作,它根本无法复制。在我的 POC 中,我发现重新初始化后复制总是需要很长时间,时间量不取决于数据量。顺便说一句,重新初始化是我发现它对我的问题有用的唯一解决方案。
如上所述,我的结论是,复制可能不适合我的问题,我认为它可能有另一个更好的解决方案,可以满足我在更新 1 中的需要: