SQL Server 2008 R2가 단일 사용자 모드로 고착됨
로컬 데이터베이스에서 DB 배포(VS SQL Server 데이터베이스 프로젝트에서)를 실행했지만 실패한 후 데이터베이스는 단일 사용자 모드가 설정된 상태(배포가 단일 사용자 모드로 실행됨)로 유지되었습니다.
SSMS에서 연결하여 다음과 같은 것을 시도하면 다음과 같습니다.
ALTER DATABASE MyDatabase
SET MULTI_USER;
GO
오류가 발생합니다.
데이터베이스 'MyDatabase'의 상태 또는 옵션을 지금 변경할 수 없습니다.데이터베이스가 단일 사용자 모드이며 현재 사용자가 데이터베이스에 연결되어 있습니다.
SSMS가 성공했다고 알려주는 데이터베이스를 오프라인으로 전환하려고 했지만 실제로는 아무 효과가 없는 것 같습니다.지금까지는 데이터베이스를 삭제하고 재생성함으로써만 이 문제를 해결할 수 있었습니다(이것은 로컬 테스트 데이터베이스에 불과하기 때문에 일종의 문제를 해결할 수 있었습니다.하지만 상태를 재설정할 수 있으면 좋겠습니다.
SQL Server가 단일 사용자 모드에서 데이터베이스를 제거하도록 하려면 어떻게 해야 합니까?
마스터 데이터베이스에서 첫 번째 실행 후 쿼리
exec sp_who
범인을 찾을 수 없다면, 시도해 보세요.
SELECT request_session_id FROM sys.dm_tran_locks
WHERE resource_database_id = DB_ID('YourDatabase')
그런 다음 다음 쿼리를 사용하여 데이터베이스를 사용하는 모든 프로세스를 종료합니다.
KILL spid
그런 다음 다음 쿼리를 실행합니다.
USE Master
ALTER DATABASE YourDatabase SET MULTI_USER
다음 명령을 시도해 봅니다.
먼저 이 세 가지 명령을 실행합니다.
USE [master]
SET DEADLOCK_PRIORITY HIGH
exec sp_dboption MyDBName, 'single user', 'FALSE';
두번째로 이 두개의 명령을 실행합니다.
ALTER DATABASE MyDBName SET MULTI_USER WITH NO_WAIT
ALTER DATABASE MyDBName SET MULTI_USER WITH ROLLBACK IMMEDIATE
이에 대한 답변은 다음과 같습니다.
use master
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
--do you stuff here
ALTER DATABASE YourDatabase SET MULTI_USER
DAC(Dedicated Admin Connection)를 사용합니다.마스터 ALTER DATABAST SET MULTI_USER에 연결한 후 서버 이름의 SSMS 유형에서 먼저 활성화했는지 확인합니다.
업데이트를 강제로 수행하려면 "즉시 롤백"을 사용합니다.
ALTER DATABASE [DATABASE_NAME] SET MULTI_USER with rollback immediate
언급URL : https://stackoverflow.com/questions/24608702/sql-server-2008-r2-stuck-in-single-user-mode
'source' 카테고리의 다른 글
'ERROR 2002 (HY000):소켓 '/var/run/mysqld/mysqld를 통해 로컬 MySQL 서버에 연결할 수 없습니다.sock' (2 "해당 파일 또는 디렉토리 없음")' (0) | 2023.10.06 |
---|---|
git: "branch 이름"과 "refs/heads/branch 이름"의 차이 (0) | 2023.10.06 |
RecyclerView에 해당하는 Add HeaderView가 있습니까? (0) | 2023.10.06 |
AngularJS $http 응답 헤더 (0) | 2023.10.01 |
디브에서 가로 스크롤 바를 제거하려면 어떻게 해야 합니까? (0) | 2023.10.01 |