您的位置:首页 > 数据库 > 数据库管理 > 正文

SQL Server锁类型

更多 时间:2017-3-4 类别:数据库 浏览量:1015

SQL Server锁类型

SQL Server锁类型

1、HOLDLOCK

在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁。

  
2、NOLOCK

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


3、PAGLOCK

指定添加页锁(否则通常可能添加表锁)。


4、ROWLOCK

使用行级锁,而不使用粒度更粗的页级锁和表级锁。  


5、TABLOCK

指定使用表级锁,而不是使用行级或页面级的锁,SQL Server在该语句执行完后释放这个锁,而如果同时指定了HOLDLOCK,该锁一直保持到这个事务结束。 

这个选项保证其他进程只能读取而不能修改数据。 

 
6、TABLOCKX

指定在表上使用排它锁,这个锁可以阻止其他事务读或更新这个表的数据,直到这个语句或整个事务结束。


7、UPDLOCK

指定在读表中数据时设置更新锁(update lock)而不是设置共享锁,该锁一直保持到这个语句或整个事务结束,使用UPDLOCK的作用是允许用户先读取数据(而且不阻塞其他用户读数据),并且保证在后来再更新数据时,这一段时间内这些数据没有被其他用户修改。

使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。

 

标签:SQL Server
您可能感兴趣