Sql server 2005 SQL Server 2005的默认锁定-行级别或页级别

Sql server 2005 SQL Server 2005的默认锁定-行级别或页级别,sql-server-2005,locking,Sql Server 2005,Locking,SQL Server 2005是否默认使用行级锁定或页级锁定?我的一些更新出现了一些超时错误,不知道这是否与默认锁定机制有关 默认情况下,SQL Server始终使用行级锁定 如果锁定的行数超过一定数量(5000行),则SQL Server将执行(锁定表,而不是单独锁定5000行),以优化性能和资源利用率 我的建议是让事务尽可能短。或者,对于那些没有被多个用户(如主表)连续插入的表,您可以使用with(NoLock) 我的另一个建议是使用SQL Profiler。谢谢。很好的链接。我想现在我想弄

SQL Server 2005是否默认使用行级锁定或页级锁定?我的一些更新出现了一些超时错误,不知道这是否与默认锁定机制有关

默认情况下,SQL Server始终使用
行级
锁定

如果锁定的行数超过一定数量(5000行),则
SQL Server
将执行(锁定表,而不是单独锁定5000行),以优化性能和资源利用率

我的建议是让事务尽可能短。或者,对于那些没有被多个用户(如主表)连续插入的表,您可以使用with(NoLock)


我的另一个建议是使用SQL Profiler。

谢谢。很好的链接。我想现在我想弄清楚我的查询是否使用了行级锁定。这听起来像是SQLServer2005根据查询和使用的不同方面来确定要使用哪个锁级别?我还需要查看隔离级别,看看它默认为什么。NOLOCK只适用于正确性不重要的查询!