SQLSERVER单用户与多用户锁表
SQL SERVER 单用户与多用户 锁表
平时使用的一些脚本记录如下.
设置数据库为单用户与多用户模式
脚本一: exec sp_dboption pubs, ‘single user’, true; – 设置为单用户模式 exec sp_dboption pubs, ‘single user’, false; – 设置为多用户模式
脚本二: alter database pubs set MULTI_USER; alter database pubs set SINGLE_USER;
在一个事务执行期间,不允许修改某张表
begin tran
select * from pubs.dbo.titles with (holdlock, tablock); – 锁表,直到事务提交或回滚
– 检查效果使用的语句,即在执行此事务期间,可以在另外一个会话,或称为连接下执行insert或update操作,会发现需要等待此事务执行完后,才可以执行其它连接上的insert或update操作.select不受影响.
WAITFOR DELAY ‘00:00:20’;
commit tran