我们有一个应用程序,它将收集数据并将其存储在使用 Microsoft SQL Server Compact 的本地 WinXP PC 中。我们希望将这些数据聚合到一个完整的 SQL Server 以进行报告和归档。尽管可以接受一些延迟(最多一分钟或两分钟),但数据传输需要相当连续(即不成批处理)。
数据是从收集器到服务器的单向推送。收集器永远不需要知道其他收集器在做什么,主服务器永远不会更新收集器上的数据。目前的计划是针对 5 个收集器,但它的可扩展性基本上是无限制的。
我们必须假设我们将“大部分连接”,但我们不能保证从收集器到服务器的连接。如果服务器或网络出现故障,我们仍会收集数据,并且当服务器再次可访问时,数据将被推送回来。
理想情况下,我们希望在我们完成基础设施工作后,非编程工程师可以设置一个解决方案。因此,我们可以编写一些代码和向导,但不能假定最终用户对编写代码一无所知,尽管他们具有合理的计算机技术素养。
现在我们有两种技术候选:
- SQL 复制
- 微软同步服务
我们对第一个没有什么经验,但是我们知道在 SQL Server 中设置订阅等是痛苦的,调试它们也不好玩,所以我们正在尝试寻找替代方案。
我们对#2 几乎一无所知,只是有人建议将其作为将设备数据传输到服务器的替代方案。
有没有人在这种情况下有经验,或者使用这两种技术中的一种/两种,或者我们认为他们可以分享的任何东西?收集器上的 SQL Compact 是一个固定要求。服务器上的 SQL Server 不是必需的,但由于客户已经拥有它而需要它。