在我们的一个数据库上运行exec sp_lock
之后,我们发现存在接近3000个锁,但是我们能够访问和写入所有表。
我们在应用层使用NHibernate。这是正常的吗?
答案 0 :(得分:2)
大多数数据库都有一些锁定,大多数数据库都不必担心。
锁通常用于防止数据损坏和无效数据,因为不允许多个用户同时修改相同的数据。
有不同类型的锁,大多数情况下使用乐观锁,只有在用户实际更新数据时才会激活。
答案 1 :(得分:0)
真正的问题来自“死锁”,您可以使用“SQL Profiler”进行跟踪。 这个article似乎很清楚,让您配置SQL事件探查器来查找它们。