본문 바로가기

[DataBase]/MSSQL

[MSSQL] 싱글유저 모드에서 멀티유저 모드 변경 오류

반응형

DB작업시 현재 다른 연결을 끊어야 할 경우가 있다.
이럴경우 평소 엑세스 제한 모드를 제한된유저(restricted user)모드로 변경하고 작업하곤한다.
하지만 단일 사용자(Singleuser) 모드로 변경했을경우에는 주의해야할 점이 있다.
단일 사용자 모드의 경우 다른 세션이 살아 있기에 DB의 상태 변경을 하지 못하는 경우가 있을 수 있다.
이럴경우

ALTER DATABASE 'DB명' SET MULTI_USER

명령어를 통해 다시 멀티유저로 변경시 다음과 같은 오류가 뜨게 된다.

지금은 데이터베이스 'DB명'의 상태나 옵션을 바꿀 수 없습니다. 데이터베이스가 단일 사용자 모드이며 현재 한 사용자가 연결되어 있습니다.

이때 아래의 명령어를 실행하면 현재 내 DB에 접속중인 세션을 찾을 수 있다.

SELECT request_session_id

FROM sys.dm_tran_locks

WHERE resource_database_id = DB_ID('DB명')

찾은 세션을 이제 죽여주자

kill 'pid번호'

그 다음 다시 멀티유저로 되돌리는 명령어 실행시 문제 없이 잘 실행될것이다..

반응형