Sql server 要使用哪个SQL事务隔离级别?

Sql server 要使用哪个SQL事务隔离级别?,sql-server,ado.net,Sql Server,Ado.net,我们以VB.NET为前端,SQL Server为后端开发了应用程序。当一个事务正在“Table1”中运行(保存)数据时,在未提交运行的事务之前,该表不可读 我们应该使用哪个事务锁来避免脏读/数据垃圾?默认隔离级别是readcommitted,可以使用默认隔离级别。如果想要更悲观的隔离级别,请尝试使用SERIALIZABLE 有关SERIALIZABLE隔离级别的更多信息,请参见此处:每个隔离级别都可以防止不同类型的异常,这取决于您对所需级别的谨慎程度。谢谢charlie。但是你能根据我的要求推荐

我们以VB.NET为前端,SQL Server为后端开发了应用程序。当一个事务正在“Table1”中运行(保存)数据时,在未提交运行的事务之前,该表不可读


我们应该使用哪个事务锁来避免脏读/数据垃圾?

默认隔离级别是
readcommitted
,可以使用默认隔离级别。如果想要更悲观的隔离级别,请尝试使用
SERIALIZABLE


有关
SERIALIZABLE
隔离级别的更多信息,请参见此处:

每个隔离级别都可以防止不同类型的异常,这取决于您对所需级别的谨慎程度。谢谢charlie。但是你能根据我的要求推荐合适的锁吗?我也不能推荐合适的锁:正如我所说,这完全取决于你没有提到的事情。我可以建议哪一个不要使用
readuncommitted
aka
NOLOCK
,因为各种原因这是不好的。大多数人只是使用
readcommitted
。但是,
readcommittedsapshot
很好,但是在进行更新和删除时,您必须意识到这一点
SERIALIZABLE
是一个目标,但它可能会非常重于锁定,并导致很多死锁,如果您没有很多并发访问,这就是要使用的。谢谢。我想和雷德一起去拍照你好,艾敏。我们已经在使用默认锁,但其他用户必须等待现有事务完成。等待时间有时超过5分钟。因为该事务是一个考勤记录。有200名员工,每天的考勤由5个不同的用户填写。序列化我们不能使用,因为它锁定表。请suggest@MaheshPatel然后看一看快照隔离级别,但是对于该隔离级别,您必须进行一些数据库更改,因为它需要TempDB。谢谢。我想使用READ COMMITTED SNAPSHOT