[sql-server] SQL Server 2012“복원하도록 선택된 백업 세트가 없습니다”

파일 스트림이 활성화 된 SQL Server 2012 데이터베이스가 있습니다. 그러나 백업하고 다른 컴퓨터의 다른 SQL Server 2012 인스턴스에서 복원하려고하면 다음과 같은 메시지가 나타납니다.

복원 할 백업 세트가 선택되지 않았습니다.

한 줄의 추가 설명조차 없습니다. 무슨 일이야?

파일 스트림이없는 다른 모든 데이터베이스는 정상이며 성공적으로 복원 될 수 있습니다. 파일 스트림과 관련이 있습니까? 핫픽스 등을 설치해야합니까?



답변

이 문제가 발생하여 잘못된 버전의 SQL로 복원하려고 시도한 것으로 나타났습니다. 진행중인 작업에 대한 자세한 정보를 보려면 다음 SQL을 사용하여 데이터베이스를 복원하십시오.

RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

디버깅이 필요하다는 오류 메시지가 표시됩니다.


답변

내 문제는 결국 권한이되었습니다 . 개발자 컴퓨터에 있고 Homegroup을 통해 복사했습니다. 어떻게 든 파일을 복사 한 위치에 따라 권한이 엉망이되어 Management Studio에서 파일을 읽을 수 없습니다. 이것은 dev이기 때문에 Everyone에게 bak 파일에 대한 권한부여한 다음 GUI를 통해 성공적으로 복원 할 수 있습니다.


답변

실행할 때 :

RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

다음과 같은 오류가 발생했습니다.

‘C : \ NorthwindDB.bak’장치의 미디어 제품군이 잘못 구성되었습니다. SQL Server는이 미디어 제품군을 처리 할 수 ​​없습니다. HEADERONLY RESTORE가 비정상적으로 종료됩니다. (Microsoft SQL Server, 오류 : 3241) 인용문

호환성 수준이 소스 및 대상 DB 모두에서 동일하더라도 상위 SQL 버전에서 하위 버전으로 DB를 가져올 수 없습니다. SQL 버전을 확인하려면 다음을 실행하십시오.

Select @@Version

차이점을 확인하려면 원본 SQL 서버 에서 DB를 만들고 백업 파일에서 복원을 시도하십시오.이 whit SSMS를 수행하면 백업 파일을 선택하면 백업 파일을 선택하면 해당 정보가 표시됩니다. “복원 할 백업 세트가 선택되지 않았습니다”라는 낮은 버전의 서버에서 파일을 엽니 다.
여기에 이미지 설명을 입력하십시오

따라서 여전히 데이터를 더 낮은 버전의 SQL로 이동해야하는 경우 This 를 확인하십시오 .


답변

관리자 권한 으로 SQL Server Management Studio 실행 하고 (바로 가기 / exe를 마우스 오른쪽 단추로 클릭 한 다음 ” 관리자 권한으로 실행”을 선택) 복원하십시오.


답변

나는 버전을 혼합하기에 충분히 어리석지 않다고 생각했지만 새 서버에서 SQL Server 2005 인스턴스가 이미 출생에서 설치되었다는 것을 알지 못했습니다 SQLEXPRESS. SSMS 2012의 SQL Server 2008 R2 백업 데이터베이스를 SQLEXPRESS인스턴스 로 복원하려고 할 때 백업 세트 목록이 비어있었습니다.

결국 SQLEXPRESS서버 의 인스턴스가 2012 인스턴스가 아니라 2005 라는 것을 깨달았습니다 . 실제 2012 인스턴스 (내 경우에는 SQLEXPRESS2012) 에 연결을 끊고 연결 했는데 (분명히) 작동했습니다.


답변

내 문제는 내 사용자가 Builtin-Administrators 그룹에 있었고 SQL Server의 Sysadmin-role 사용자가 없다는 것입니다. 방금 Management Studio를 관리자로 시작했습니다. 이런 식으로 데이터베이스를 복원 할 수있었습니다.


답변

참고 : 복원 할 때 SSMS에 로그인하기 위해 동일한 (SQL 사용자) 자격 증명을 사용해야한다는 것을 알았습니다. 먼저 Windows 인증 계정을 사용하여 복원을 시도했습니다.