生产服务器上sqlserver切换为单用户,前端未知链接,导致无法操作,解决办法?
原因:在生产服务器上sqlserver切换为单用户,前端程序总有未知链接,导致无法操作这个数据库,不停提示“因为数据库databaseName正在使用,所以无法获得对数据库的独占访问权”
解决办法如下:
--如果可以最好重启mssql服务后, 立刻执行以下步骤;
--如果中断当前链接的提示有报错是正常现象,反复多执行几遍即可.
--1.清理databaseName库的所有连接
USE master;
GO
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('databaseName');
EXEC(@SQL);
GO
--2.把databaseName修改为多用户状态
ALTER DATABASE databaseName SET MULTI_USER;