파일 스트림이 활성화 된 SQL Server 2012 데이터베이스가 있습니다. 그러나 백업하고 다른 컴퓨터의 다른 SQL Server 2012 인스턴스에서 복원하려고하면 다음과 같은 메시지가 나타납니다.
복원 할 백업 세트가 선택되지 않았습니다.
한 줄의 추가 설명조차 없습니다. 무슨 일이야?
파일 스트림이없는 다른 모든 데이터베이스는 정상이며 성공적으로 복원 될 수 있습니다. 파일 스트림과 관련이 있습니까? 핫픽스 등을 설치해야합니까?
파일 스트림이 활성화 된 SQL Server 2012 데이터베이스가 있습니다. 그러나 백업하고 다른 컴퓨터의 다른 SQL Server 2012 인스턴스에서 복원하려고하면 다음과 같은 메시지가 나타납니다.
복원 할 백업 세트가 선택되지 않았습니다.
한 줄의 추가 설명조차 없습니다. 무슨 일이야?
파일 스트림이없는 다른 모든 데이터베이스는 정상이며 성공적으로 복원 될 수 있습니다. 파일 스트림과 관련이 있습니까? 핫픽스 등을 설치해야합니까?
답변:
이 문제가 발생하여 잘못된 버전의 SQL로 복원하려고 시도한 것으로 나타났습니다. 진행중인 작업에 대한 자세한 정보를 보려면 다음 SQL을 사용하여 데이터베이스를 복원하십시오.
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
디버깅이 필요하다는 오류 메시지가 표시됩니다.
No backupset selected to be restored.
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
내 문제는 결국 권한이되었습니다 . 개발자 컴퓨터에 있고 Homegroup을 통해 복사했습니다. 어떻게 든 파일을 복사 한 위치에 따라 권한이 엉망이되어 Management Studio에서 파일을 읽을 수 없습니다. 이것은 dev이기 때문에 Everyone에게 bak 파일에 대한 권한 을 부여한 다음 GUI를 통해 성공적으로 복원 할 수 있습니다.
.bakIIS에서 실행되는 파일 업로드 웹 서비스에 의해 생성 된 파일ApplicationPoolIdentity
실행할 때 :
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 2005 인스턴스가 이미 출생에서 설치되었다는 것을 알지 못했습니다 SQLEXPRESS. SSMS 2012의 SQL Server 2008 R2 백업 데이터베이스를 SQLEXPRESS인스턴스 로 복원하려고 할 때 백업 세트 목록이 비어있었습니다.
결국 SQLEXPRESS서버 의 인스턴스가 2012 인스턴스가 아니라 2005 라는 것을 깨달았습니다 . 실제 2012 인스턴스 (내 경우에는 SQLEXPRESS2012) 에 연결을 끊고 연결 했는데 (분명히) 작동했습니다.
내 문제는 내 사용자가 Builtin-Administrators 그룹에 있었고 SQL Server의 Sysadmin-role 사용자가 없다는 것입니다. 방금 Management Studio를 관리자로 시작했습니다. 이런 식으로 데이터베이스를 복원 할 수있었습니다.
SQL Server 2014에서 동일한 문제가 발생했습니다 (Management Studio에서 복원 작업을 위해 백업 파일을 찾으려고 할 때 백업 파일이있는 폴더를 볼 수 없음). 이 스레드 는 내 문제를 해결 한 답변을 개최했습니다. 인용문:
SQL Server 서비스 계정은 시작-> 제어판-> 관리 도구-> 서비스에서 찾을 수 있습니다. SQL Server 서비스-> 로그온 탭을 두 번 클릭하십시오. "로컬 시스템 계정"또는 "이 계정"을 사용하여 특정 계정을 정의하게됩니다. 로컬 시스템 계정을 사용하는 경우 서버에 로컬이 아닌 백업을 참조 할 수 없습니다. 대신 사용할 계정을 정의한 경우 이는 백업 파일 위치에 액세스해야하는 계정입니다. 개인 로그온을 사용하여 백업에 액세스하는 기능은 관련이 없습니다. 백업을 시작하더라도 사용되는 SQL Server 계정입니다. IT 담당자는 각 계정에 부여 된 권한을 결정할 수 있어야합니다.
누군가에게 도움이되기를 바랍니다.
저에게는 백업 파일이 여전히 다른 프로세스에 의해 열려 있기 때문입니다. 이벤트 로그는 다음과 같습니다.
BackupDiskFile :: OpenMedia : 백업 장치 'X : \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak'을 (를) 열지 못했습니다. 운영 체제 오류 32 (프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.)
Sql Server Management Studio를 닫았다가 다시 열면 문제가 해결되었습니다 (물론 핸들이있는 ssms.exe입니다.)
제 경우에는 권한 문제였습니다.
Windows 사용자에게는 사용하지 않은 dbcreator역할이 있습니다.
그래서 아래 단계를 수행했습니다.
saSQL 서버에 연결Security개체 탐색기에서 확장LoginsServer Roles에서 Select a page옵션dbcreator사용자의 역할 확인SQL Server 2012 Express 사용
내 오류 (SQL Manager-데이터베이스 복원 대화 상자에서) :
No backupset selected to be restored
또한 선택할 목록에 백업 세트가 표시되지 않았습니다.
문제는 5 백업 파일 중 하나를 SQL Server 서비스 로그온 사용자에게 권한이없는 폴더로 옮겼다는 것입니다. 해당 사용자를 추가하려고했지만 NT Service \ MSSQL $ SQLEXPRESS 사용자를 보안으로 가져올 수 없었습니다. 명부.
서비스 사용자의 문서 폴더 아래에서 파일을 이동 한 후 선택한 모든 파일을 읽을 수있게되었고 (4 시점) 오류가 "미디어 세트 누락"으로 변경되었습니다. 그런 다음 다른 백업 파일을 찾아 보았습니다. 내가 추가했을 때 복원 할 수있었습니다.
이 질문에 대한 답변은 올바른 장소를 찾고 해결책을 찾는 데 도움이되었습니다.