【问题标题】:Preventing access same record by multiple user in MS SQL 2005 .防止 MS SQL 2005 中多个用户访问同一记录。
【发布时间】:2012-05-05 21:37:54
【问题描述】:

如果一个用户访问了表中 10 条记录中的 1 条记录。如果同时,第二个用户尝试访问第一个用户的同一记录,则不应显示该记录,而是应显示第二个记录,因为第一个用户将持有该记录一段时间以进行处理和更新在此之前,即使选择查询是从第二个用户应用程序触发的,也不应向任何其他用户显示此记录。是否可以使用行锁?请为我提供如何实现行锁和保持锁并释放使用行级锁的保持锁的示例。除此之外,如果您有任何其他建议,请分享它

我正在使用带有 Asp.Net 的 SqlServer2005

巴布.M

【问题讨论】:

    标签: asp.net sql-server-2005


    【解决方案1】:

    我不知道行锁是否会阻止它被选中,但你不能使用审计表吗?例如,当用户 1 访问记录时,该记录的 ID 存储在审计表中,然后当用户 2 尝试使用记录时,应用程序应检查记录的主键是否在审计表中,如果如果不是第二个用户获得访问权,则第二个用户没有获得访问权。用户完成记录后,您可以删除审计表中的记录,或者您可以保留记录但设置一个标志以表示它不再使用,因为这样您可以查看谁更改了哪些记录以及在什么位置如果您添加日期时间戳,则为时间。

    再次,当使用 select 命令时,如果主键存在于审计表中,则不要选择它。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      相关资源
      最近更新 更多