数据库 如何解除表的锁定

发布网友 发布时间:2022-04-24 05:47

我来回答

1个回答

热心网友 时间:2022-04-08 09:02

(1)
HOLDLOCK:
在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁。
  
(2)
NOLOCK:不添加共享锁和排它锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅应用于SELECT语句。
  
(3)
PAGLOCK:指定添加页锁(否则通常可能添加表锁)。 
  
(4)
READCOMMITTED用与运行在提交读隔离级别的事务相同的锁语义执行扫描。默认情况下,SQL
Server
2000
在此隔离级别上操作。
(5)
READPAST:
跳过已经加锁的数据行,这个选项将使事务读取数据时跳过那些已经被其他事务锁定的数据行,而不是阻塞直到其他事务释放锁,
READPAST仅仅应用于READ
COMMITTED隔离性级别下事务操作中的SELECT语句操作。 
  
(6)
READUNCOMMITTED:等同于NOLOCK。 
  
(7)
REPEATABLEREAD:设置事务为可重复读隔离性级别。 
  
(8)
ROWLOCK:使用行级锁,而不使用粒度更粗的页级锁和表级锁。  
  
(9)
SERIALIZABLE:用与运行在可串行读隔离级别的事务相同的锁语义执行扫描。等同于
HOLDLOCK。 
  
(10)
TABLOCK:指定使用表级锁,而不是使用行级或页面级的锁,SQL
Server在该语句执行完后释放这个锁,而如果同时指定了HOLDLOCK,该锁一直保持到这个事务结束。  
  (11)
TABLOCKX:指定在表上使用排它锁,这个锁可以阻止其他事务读或更新这个表的数据,直到这个语句或整个事务结束。 
  
(12)
UPDLOCK
:指定在
读表中数据时设置更新
锁(update
lock)而不是设置共享锁,该锁一直保持到这个语句或整个事务结束,使用UPDLOCK的作用是允许用户先读取数据(而且不阻塞其他用户读数据),并且保证在后来再更新数据时,这一段时间内这些数据没有被其他用户修改。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com