按照网上搜索的下面
-------------------------------------------------------------------------------
设置数据库为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;
一切恢复。
凡事还是理解再执行。
SQL Server开启READ_COMMITTED_SNAPSHOT
原文:https://www.cnblogs.com/Mblog/p/15158529.html