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;
一切恢复。
凡事还是理解再执行。