2009-03-24 8 views
0

누구나 vb.net에서 데이터베이스를 복원하는 방법을 알려줄 수 있습니까? SQL Server2005에서 템플릿 스크립트를 가져 와서 저장 프로 시저를 사용하여 복원하려고했습니다. 하지만 오류가 있습니다 "데이터베이스가 이미 사용 중입니다 마스터 데이터베이스를 사용하십시오."vb.net을 사용하여 데이터베이스 복원

답변

2

실제로 복원중인 데이터베이스에 연결하는 데 사용하는 것과 동일한 연결 문자열을 사용했다고 가정합니다. 오류 메시지에서 다른 InitialCatalog 매개 변수를 사용하여 서버에 대한 연결을 만들어야합니다 (오류 메시지는 "마스터"를 사용해야 함을 나타냄).

다른 옵션은 스크립트 시작 부분에 "USE master"를 사용하는 것입니다. Here은 USE 문의 작은 설명입니다.

0

실제 VB.net 프로그래밍 오류가있는 것처럼 보이지 않습니다.
문제가 데이터베이스 복원 저장 프로 시저에있는 것처럼 보입니다.

데이터베이스를 복원하기 전에
을 확인하십시오. • 복원 할 데이터베이스가 연결을 사용하고 있지 않습니다. - 해당 오류의 가능한 원인 중 하나입니다. "데이터베이스가 이미 사용 중입니다. master 데이터베이스를 사용하십시오. "
• 대상 데이터베이스에 대한 다른 연결을 닫아야합니다. - 모든 연결을 닫습니다.

Denis Troller는 "USE master"을 언급했으며 스크립트의 복원 배치 스크립트에서이 명령문이 맨 처음의 명령문임을 확인하십시오.

0

나는 내 프로젝트에서 이것을 작성하여 내 방법을 공유 할 것이라고 생각했습니다.

나는 백업을 호출하고 다음과 같이 데이터베이스와 파일 이름에 대한 SqlParameters을 SqlCommand.CommandText를 사용하여 서버에서 SQL을 발사하고 설정하여 복원 해요 :

간단한 백업 :

BACKUP DATABASE @dbName 
    TO [email protected] 
    WITH FORMAT

그럼 사용하여 복원 :

USE master 
RESTORE DATABASE @dbName 
    FROM DISK = @fileName

다시는 BACKUP 및 RESTORE 명령에 대한 많은 옵션이 있지만 빠른 슬레지 해머 접근 방식을 원했지만 제대로 작동합니다.

Denis에게 '사용중'오류를 수정 한 'USE 마스터'팁을 보내 주셔서 감사합니다!