高效的SQL Server /客户端同步

时间:2019-02-28 14:29:10

标签: sql-server data-synchronization change-tracking

我的仓库中有许多旧的,缓慢的,基于Windows CE的条形码扫描仪,我正在编写一个C#Winforms应用程序,以便与服务器上的SQL Server 2008 R2数据库进行通讯。

扫描仪通过wifi连接,我们的覆盖范围充裕。

我正在寻找一种有效的方法来确保:

  • a)完成更新/插入/删除操作不会引起冲突
  • b)客户端和服务器之间传递的数据量最少
  • c)鉴于覆盖范围较差,因此需要使用客户端的东西,即 扫描仪检查表的更改并将其保留为 保持最新状态。

此刻,我已经在所有数据库表上获得了触发器,每次执行插入或更新操作时都会将日期时间放入LastUpdated列中,但是显然一旦删除了一行,它就消失了,我大概需要将整个查询拉到扫描仪中,并将其与扫描仪的副本进行比较,以查看缺少的内容-为了避免问题,我试图避免这种情况。列不多,因此拉整行不是问题-我不需要每个列的原子性;我只需要知道要插入哪些行即可。

我已经简要了解了SQLS的变更跟踪功能,但需要多花点功夫...看起来它可以让我找出被删除的内容,但是肯定会产生巨大的影响性能和/或数据库大小?

我也无法对数据库的模式进行大的更改-它已经在使用中,所以我不确定我已经读过的其他一些同步模式是否可用。

我想我只需要指出正确的方向,即可有效地做到这一点。链接到一篇很好的解释性文章,而该文章对SQL不太熟练,那将是很好的(我知道基础知识,但绝对不是合适的DBA,我只是被推到那个角色)。

0 个答案:

没有答案