2012-06-11 7 views
10

SQL Server 2005를 사용하고 있는데 데이터베이스를 복원하는 데 문제가 있습니다. 데이터베이스 복원을 시도 할 때이 메시지가 나타납니다.데이터베이스를 복원 할 수 없습니다. 세션에서 데이터베이스를 사용 중입니다.

Restore failed. (Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError: RESTORE cannot process database 'AMOD' because it is in use by this session. It is recommended that the master database be used when performing this operation. (Microsoft.SqlServer.Express.Smo)"

프로그램을 다시 시작했습니다. 데이터베이스에 포함 된 테이블을 열지 못했지만이 메시지가 계속 나타납니다. SQL Server를 처음 사용하고 있으며 복원을 처음 수행합니다. 제공된 모든 도움에 감사드립니다.

답변

32

모든 사용자를 걷어차 야하며, 데이터베이스에 없는지 확인해야합니다. Management Studio에 있다고 가정하면 컨텍스트를 다른 데이터베이스로 변경하거나 데이터베이스 드롭 다운을 다른 데이터베이스로 전환해야합니다. 그러면 다른 사용자 (개체 탐색기, 모든 데이터베이스에 연결)를 유지하여 복원을 방지 실수가 될 수 등 탐색기 정보, 다른 쿼리 창, 객체하기 : 당신이 복원 완료하고 나면

USE master; 
GO 
ALTER DATABASE AMOD SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

데이터베이스를 다시 사용하기 위해 준비가되어 있습니다 :

ALTER DATABASE AMOD SET MULTI_USER; 
+3

나는 이것을 다른 사용자를 위해 설정했고 추가로 보안 → 로그인 → 사용자 → 등록 정보를 마우스 오른쪽 버튼으로 클릭하고 Def ault 데이터베이스를 마스터 한 다음 로그 아웃 한 다음 다시 넣으십시오. – bmaupin

+0

@bmaupin이 일시적으로 그들을 격추시켜야합니다. –

+2

내가 의미하는 바는 데이터베이스를 복원 할 수있는 다른 사용자를 설정했다는 것이었지만 복원을 위해 로그인 할 때마다 복원하려는 데이터베이스가 기본값으로 설정되어 연결될 것이라고했습니다. 그것. 물론, 나는 전문가는 아니지만 기본 DB를 변경하면 문제가 해결 된 것 같습니다. 어쨌든 훌륭한 답변입니다! – bmaupin

관련 문제