나는 잠시 동안 해결책을 찾았고 마침내 아래 해결책을 찾았습니다.
일반적으로 SSMS는 백그라운드에서 데이터베이스에 여러 연결을 사용합니다.
액세스 모드를 변경하기 전에 이러한 연결을 종료해야합니다. (나는 EXEC (@kill); 아래 코드 템플릿에서 으로 .)
그때,
다음 SQL을 실행하여 데이터베이스를 MULTI_USER 모드 로 설정하십시오.
USE master
GO
DECLARE @kill varchar(max) = '';
SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(10), spid) + '; '
FROM master..sysprocesses
WHERE spid > 50 AND dbid = DB_ID('<Your_DB_Name>')
EXEC(@kill);
GO
SET DEADLOCK_PRIORITY HIGH
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH NO_WAIT
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
단일 사용자 모드로 다시 전환하려면 다음을 사용하십시오.
ALTER DATABASE [<Your_DB_Name>] SET SINGLE_USER
이 작동합니다. 행복한 코딩 !!
감사!!
master가 선택되어 있어도 쿼리 창이 데이터베이스에 연결될 수 있습니다 . 문제가 계속되면 다른 모든 쿼리 창을 닫고 왼쪽 창 하나 와 같은 드롭 다운에서 또는 무고한 시스템 데이터베이스를 선택하십시오 .mastertempdb