sqlserver中的锁

Posted 那就让我这样吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver中的锁相关的知识,希望对你有一定的参考价值。

NOLOCK(不加锁)

此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。

UPDLOCK(修改锁)
此选项被选中时,SQL Server 在读取数据时使用修改锁来代替共享锁,并将此锁保持至整个事务或命令结束。使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。

 

TABLOCK(表锁)
此选项被选中时,SQL Server 将在整个表上置共享锁直至该命令结束。 这个选项保证其他进程只能读取而不能修改数据。

TABLOCKX(排它表锁)(表示其他进程连读取都不能读取,更不能进行修改) 
此选项被选中时,SQL Server 将在整个表上置排它锁直至该命令或事务结束。这将防止其他进程读取或修改表中的数据

这个锁在事务期间阻止任何其他事务使用这个表 

以上是关于sqlserver中的锁的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER的锁机制

锁机制

SQL SERVER的锁机制——概述(锁的种类与范围)

sqlserver锁和隔离级别

SQL Server中的锁

Sqlserver各种数据库的锁表和解锁操作