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


150

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

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

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

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


1
아직 해결하지 못했습니다. SQL Server 구성에 문제가있는 것 같습니다. 이것보다 일이 더 쉬워야한다고 생각합니다.
Saeed Neamati

1
복원 시도에 사용중인 T-SQL을 제공 할 수 있습니까?
벤 툴

3
SSMS의 GUI를 사용하고 있습니다.
Saeed Neamati

그런 식으로해도 창 상단 근처에 "스크립트"버튼이 있어야합니다. 복원을 위해 설정된 방식으로 모든 것을 설정 한 후 "ok"대신 해당 항목을 누르면 복원을 위해 서버에 대해 실행되는 T-SQL이 나타납니다.

1
WS 2012 R2 (작업 그룹)의 SQL 2014 Standard (독립형)와 함께 권한 문제가 있었지만 권한 '취득'을 위해 두 번 재부팅해야했습니다. 그게 가치있는 일 이니까요. 여러분 모두도 해결되기를 바랍니다.
BaldEagle

답변:


177

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

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

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


위의 SQL을 사용하여 복원을 시도 할 때 어떤 오류 메시지가 표시됩니까?
user489998

T-SQL 스크립트를 사용하여 DB를 복원하면 효과가있는 것 같습니다. 파일 스트림 데이터를 백업하지 않았기 때문에 UI에서 처리 할 수 ​​없습니다.
Saeed Neamati

1
좋습니다, 나는 원시 SQL 접근법을 좋아합니다. `미디어 세트에 2 개의 미디어 패밀리가 있지만 1 개만 제공됩니다. 모든 구성원이 제공되어야합니다 .`-이것은 백업 소스가 백업 대상과 다른 SQL Server 버전이라는 것을 의미합니까? UI 접근 ( "복원")을 시도하면 @ top 메시지가 표시됩니다No backupset selected to be restored.
The Red Pea


기존 데이터베이스를 바꾸려면 WITH REPLACE 옵션을 사용하십시오RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Iasmini Gomes

63

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


이것은 나에게도 효과가있었습니다. 내 사용자 이름으로 해당 폴더에 대한 권한을 가질 수는 있지만, "Everyone"그룹을 폴더의 권한에 추가하는 것이 유일한 방법입니다. 실망 스럽지만 시간을 절약 해 주셔서 감사합니다!
hurleystylee

5
이 경우 유용한 오류 메시지가 없습니다. 내 문제도 이것으로 해결되었습니다.
dodgy_coder

1
대박! 아무 말도하지 않는 일반적인 오류를 좋아해야합니다. 물론 권한이었습니다. 다른 도메인의 SQL Server에서 복원 할 때 나에게 일어났다. .bak 파일 권한을 모든 사람에게 변경했습니다. 그 후 잘 작동했습니다.
Prescient

에서 데이터베이스를 복원하려고 할 때 같은 문제를 경험 한 .bakIIS에서 실행되는 파일 업로드 웹 서비스에 의해 생성 된 파일ApplicationPoolIdentity
apdevelop

26

실행할 때 :

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 2014 Enterprise를 사용하는 컴퓨터에서 DB 백업을 수행하면 SQL Server 2014 Express에서 복원 할 수 있습니까?
chester89

@ chester89 DB에 어떤 종류의 기능이 있는지에 달려 있다고 생각합니다. 그리고 백업의 종류. Express 버전은 압축 백업을 인식하지 못합니다. 또한 엔터프라이즈 버전이 엔터프라이즈 고유의 것을 사용하는 경우 무료 버전 (express)은이를 인식하지 못합니다. 그러나 표준이있는 경우 이론적으로 인식해야합니다.
Juan Acosta

@ JuanAcosta 네, 함께 모았습니다. 나는 문제없이 백업을 복원 그래서 내 경우에는, 사용에는 엔터프라이즈 특정 기능이 없다
chester89

@JuanAcosta Express Edition에서 압축 백업을 복원 할 수 없다는 문서를 알려 주시겠습니까?
chester89

@Chester는 234 페이지 포인트 3을 확인하십시오. 기본 옵션은 Express 버전에서 사용 가능한 유일한 옵션입니다. books.google.com.au/…
Juan Acosta

15

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


10

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

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


2
이것은 내 문제에 대한 올바른 방향을 제시했습니다. 원래 포스터와 동일한 오류가 발생했지만 SQL Express 2012에서 SQL Server 2008 인스턴스로 백업을 복원하려고했기 때문입니다. 당연히 이것은 바람직하지 않습니다. 불행히도 오류는 근본적인 문제에 도달하기에 충분하지 않았습니다.
LeastOne

1
와! 사이트에서 너무 많은 핫픽스를 설치했지만 해당 오류가 사라지지 않았습니다. 나는이 답변을보고 Sql Server 2012 인스턴스에 기록하고 복원했습니다 .IT WORKED! 허 감사합니다 :)
Ali Baig

1
당신은 풀 버전에서 표현 버전으로 복원 할 수 없다고 말하는가?
Zapnologica

7

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


다음 기사를 사용하여 새 sysadmin 사용자를 작성했습니다 (단일 사용자 모드를 사용하여 섹션 2 참조). wikihow.com/Reset-SA-Password-in-Sql-Server
Savage

6

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


6

필자의 경우에는 단순히 "데이터베이스 복원 ..."이 아니라 "파일 및 파일 그룹 복원 ..."을 사용하는 것이 권한이었습니다.

그것은 차이를 만들었습니다.

여기에 이미지 설명을 입력하십시오


6

나에게 그것은 사용자 권한 문제입니다. sa 사용자로 로그인했으며 정상적으로 작동합니다.


5

나에게 문제는 서버의 암호화 된 폴더에 .BAK 파일이 있다는 것입니다. 전체 관리자 권한이 있어도 SSMS가 파일을 읽을 수 없습니다. .BAK를 암호화되지 않은 폴더로 옮기면 문제가 해결되었습니다. 파일을 이동 한 후 암호화를 제거하기 위해 실제 파일의 속성을 변경해야 할 수도 있습니다 (오른쪽 클릭, 속성, 고급, "데이터를 보호하기 위해 내용 암호화")를 선택 취소하십시오.


3

SQL Server 2014에서 동일한 문제가 발생했습니다 (Management Studio에서 복원 작업을 위해 백업 파일을 찾으려고 할 때 백업 파일이있는 폴더를 볼 수 없음). 이 스레드 는 내 문제를 해결 한 답변을 개최했습니다. 인용문:

SQL Server 서비스 계정은 시작-> 제어판-> 관리 도구-> 서비스에서 찾을 수 있습니다. SQL Server 서비스-> 로그온 탭을 두 번 클릭하십시오. "로컬 시스템 계정"또는 "이 계정"을 사용하여 특정 계정을 정의하게됩니다. 로컬 시스템 계정을 사용하는 경우 서버에 로컬이 아닌 백업을 참조 할 수 없습니다. 대신 사용할 계정을 정의한 경우 이는 백업 파일 위치에 액세스해야하는 계정입니다. 개인 로그온을 사용하여 백업에 액세스하는 기능은 관련이 없습니다. 백업을 시작하더라도 사용되는 SQL Server 계정입니다. IT 담당자는 각 계정에 부여 된 권한을 결정할 수 있어야합니다.

누군가에게 도움이되기를 바랍니다.


이 페이지에서 벗어나지 않고 해당 정보를 사용하기 훨씬 쉽게 인라인으로 인용 해 주셔서 감사합니다.
qxotk

3

필자의 경우 (새로운 SQL Server 설치, 새로 생성 된 사용자) 내 사용자에게는 필요한 권한이 없었습니다. sa 로 Management Studio에 로그인 한 다음 보안 / 로그인으로 이동하여 사용자 이름, 속성을 마우스 오른쪽 단추로 클릭 한 다음 서버 역할 섹션에서 확인했습니다 sysadmin.


2

저에게는 백업 파일이 여전히 다른 프로세스에 의해 열려 있기 때문입니다. 이벤트 로그는 다음과 같습니다.

BackupDiskFile :: OpenMedia : 백업 장치 'X : \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak'을 (를) 열지 못했습니다. 운영 체제 오류 32 (프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.)

Sql Server Management Studio를 닫았다가 다시 열면 문제가 해결되었습니다 (물론 핸들이있는 ssms.exe입니다.)


1

이 결함의 또 다른 잠재적 이유는 Google 드라이브 인 것으로 보입니다. Google 드라이브가 bak 파일을 압축하고 있으므로 Google 드라이브를 통해 데이터베이스 백업을 전송하려면 먼저 압축해야합니다.


1

기존 데이터베이스를 완전히 바꾸려면 WITH REPLACE 옵션을 사용하십시오 .

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

1

제 경우에는 권한 문제였습니다.

여기에 이미지 설명을 입력하십시오

Windows 사용자에게는 사용하지 않은 dbcreator역할이 있습니다.

그래서 아래 단계를 수행했습니다.

  1. saSQL 서버에 연결
  2. Security개체 탐색기에서 확장
  3. 넓히다 Logins
  4. 해당 Windows 사용자를 마우스 오른쪽 버튼으로 클릭
  5. 속성을 클릭하십시오
  6. 선택 Server Roles에서 Select a page옵션
  7. dbcreator사용자의 역할 확인
  8. 확인을 클릭하십시오

여기에 이미지 설명을 입력하십시오


0

SQL Server 2012 Express 사용

내 오류 (SQL Manager-데이터베이스 복원 대화 상자에서) :

No backupset selected to be restored

또한 선택할 목록에 백업 세트가 표시되지 않았습니다.

문제는 5 백업 파일 중 하나를 SQL Server 서비스 로그온 사용자에게 권한이없는 폴더로 옮겼다는 것입니다. 해당 사용자를 추가하려고했지만 NT Service \ MSSQL $ SQLEXPRESS 사용자를 보안으로 가져올 수 없었습니다. 명부.

서비스 사용자의 문서 폴더 아래에서 파일을 이동 한 후 선택한 모든 파일을 읽을 수있게되었고 (4 시점) 오류가 "미디어 세트 누락"으로 변경되었습니다. 그런 다음 다른 백업 파일을 찾아 보았습니다. 내가 추가했을 때 복원 할 수있었습니다.

이 질문에 대한 답변은 올바른 장소를 찾고 해결책을 찾는 데 도움이되었습니다.


0

저에게는 허가 문제였습니다. 로컬 사용자 계정을 사용하고 회사 도메인에 가입하기 전에 SQL Server를 설치했습니다. 나중에 SQL 서버 데이터베이스를 복원하는 데 필요한 권한이없는 도메인 계정을 사용하여 데이터베이스를 복원하려고했습니다. 도메인 계정에 대한 권한을 수정하고 보유한 SQL Server 인스턴스에 대한 시스템 관리자 권한을 부여해야합니다.


0

동일한 단일 시스템에서 백업 및 복원하더라도 동일한 오류 메시지가 나타납니다.

문제는 여기에서 발생했습니다 : 백업 할 때 대상 상자에 2 개의 항목이 있습니다.

'수정'상자에 항목이 하나만 있는지 확인하십시오. 있는 경우 다른 모든 것을 제거하십시오.


0

나는 같은 문제에 부딪쳤다. 관리자로 SSMS를 실행 한 다음 마우스 오른쪽 단추를 클릭하고 데이터베이스 복원을 수행하십시오. 작동해야합니다.


0

이 오류가 발생하는 가장 뼈가 큰 이유에 대한 상을받는다고 생각합니다. 데이터베이스 복원 대화 상자에서 소스 아래의 데이터베이스 드롭 다운이 회색이며 비활성화되어 있다고 생각했습니다. 대상 아래에서 데이터베이스 드롭 다운으로 건너 뛰고 소스라고 생각하고 선택했습니다. 이렇게하면이 오류 메시지가 표시됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.