SQL Server 2008 R2에서 데이터베이스 이름을 바꾸는 중 오류가 발생했습니다
이 쿼리를 사용하여 데이터베이스의 이름을 바꾸고 있습니다.
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
그러나 실행시 오류가 표시됩니다.
메시지 5030, 수준 16, 상태 2, 줄 1
데이터베이스를 작업을 수행하기 위해 독점적으로 잠글 수 없습니다.
내 질문에 문제가 있습니까?
데이터베이스를 단일 사용자 모드로 설정해 볼 수 있습니다.
https://stackoverflow.com/a/11624/2408095
use master
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER
데이터베이스를 단일 모드로 설정하십시오.
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
데이터베이스 이름을 바꾸십시오.
ALTER DATABASE dbName MODIFY NAME = NewName
데이터베이스를 다중 사용자 모드로 설정하십시오.
ALTER DATABASE NewName SET MULTI_USER WITH ROLLBACK IMMEDIATE
개체 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 속성으로 이동할 수도 있습니다. 거기에서 옵션으로 이동하십시오. 맨 아래로 스크롤하여 액세스 제한을 SINGLE_USER로 설정하십시오. 데이터베이스 이름을 변경 한 다음 다시 들어가서 MULTI_USER로 설정하십시오.
먼저 데이터베이스에 대한 모든 연결을 닫으십시오.
use master
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER
여기 에서 찍은
이것은 나를 위해 그것을했다 :
USE [master];
GO
ALTER DATABASE [OldDataBaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
EXEC sp_renamedb N'OldDataBaseName', N'NewDataBaseName';
-- Add users again
ALTER DATABASE [NewDataBaseName] SET MULTI_USER
GO
누군가 다른 사람이 데이터베이스에 액세스하고 있기 때문입니다. 데이터베이스를 단일 사용자 모드로 설정하고 이름을 바꿉니다.
이 링크는 문제 해결에 도움이 될 수 있습니다 : http://msdn.microsoft.com/en-IN/library/ms345378(v=sql.105).aspx 및이 링크 : http://msdn.microsoft.com /en-us/library/ms345378.aspx
다른 답변에 표시된 것처럼 데이터베이스를 단일 사용자 모드로 변경하십시오.
단일 사용자 모드로 변환 한 후에도 데이터베이스에 허용 된 유일한 연결이 사용 중일 수 있습니다.
단일 사용자 모드로 변환 한 후에도 연결을 닫으려면 다음을 시도하십시오.
select * from master.sys.sysprocesses
where spid>50 -- don't want system sessions
and dbid = DB_ID('BOSEVIKRAM')
결과를보고 해당 데이터베이스에 대한 연결 ID를보십시오.
그런 다음 아래 명령을 사용하여이 연결을 닫으십시오 (데이터베이스가 단일 사용자 모드에 있으므로 하나만 있어야 함).
KILL connection_ID
Replace connection_id with the ID in the results of the 1st query
1.database set 1st single user mode
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
2.RENAME THE DATABASE
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
3.DATABAE SET MULIUSER MODE
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER WITH ROLLBACK IMMEDIATE
Another way to close all connections:
Administrative Tools > View Local Services
Stop/Start the "SQL Server (MSSQLSERVER)" service
use master
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
exec sp_renamedb 'BOSEVIKRAM','BOSEVIKRAM_Deleted'
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER
참고URL : https://stackoverflow.com/questions/16685269/error-on-renaming-database-in-sql-server-2008-r2
'Programing' 카테고리의 다른 글
Netbeans 7 또는 8의 어두운 테마 (0) | 2020.06.12 |
---|---|
문자열 배열을 List로 변환 (0) | 2020.06.12 |
현재 시간을 가져 오는 Java 코드 (0) | 2020.06.12 |
문자열 배열에 값이 포함되어 있는지 확인하고 필요한 경우 위치를 가져옵니다. (0) | 2020.06.12 |
java.lang.IllegalStateException : 전체 화면 불투명 활동 만 방향을 요청할 수 있습니다. (0) | 2020.06.12 |