sql-server – 由多个用户编辑数据库记录

前端之家收集整理的这篇文章主要介绍了sql-server – 由多个用户编辑数据库记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我设计了数据库表(在MS sql服务器上进行了标准化),并为一些应用程序创建了一个独立的 Windows前端,这些应用程序将被少数用户用于添加和编辑信息.我们将添加一个网页界面,以便日后在我们的生产区域进行搜索.

我担心如果两个用户开始编辑相同的记录,那么最后一次提交更新将是“赢家”,重要信息可能会丢失.我想到了一些解决方案,但我不确定是否会造成更大的头痛.

>不做任何事,希望两位用户永远不会同时编辑同一条记录. – 可能永远不会发生,但如果它呢?
>编辑例程可以存储原始数据的副本以及更新,然后在用户完成编辑时进行比较.如果它们不同,显示用户和确认更新 – 将需要存储两个数据副本.
>添加上次更新的DATETIME列,并在更新时检查它匹配,如果不是则显示差异. – 在每个相关表格中需要新的列.
>创建编辑表,注册用户开始编辑要检查的记录,并阻止其他用户编辑同一记录. – 将需要讽刺的程序流程,以防止死锁和记录被锁定,如果用户崩溃了程序.

有没有更好的解决方案,或者我应该去哪一个?

解决方法

如果你期望不经常的碰撞,Optimistic Concurrency可能是你最好的选择.

Scott Mitchell写了一个关于实现该模式的综合教程:
Implementing Optimistic Concurrency

猜你在找的MsSQL相关文章