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