SQL Server开启READ_COMMITTED_SNAPSHOT

按照网上搜索的下面

-------------------------------------------------------------------------------

设置数据库为SINGLE_USER模式,减少锁定时间

ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE dbname SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE dbname SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE dbname SET MULTI_USER
开启之后一天了没有看到死锁的记录,还是有点作用的!
-------------------------------------------------------------------------------
 
没有仔细看这句
ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
 
直接把生产环境数据库干死了。毫无反应。
被修改的数据库显示单用户
 
无奈马上重启
执行
USE master; 
GO 
DECLARE @SQL VARCHAR(MAX); 
SET @SQL='' 
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) 
FROM master..sysprocesses 
WHERE dbid=DB_ID('数据库名称');

EXEC(@SQL);
ALTER DATABASE 数据库名称 SET MULTI_USER;

一切恢复。
凡事还是理解再执行。
posted @ 2021-08-18 19:47  溪水云天  阅读(332)  评论(0编辑  收藏  举报