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이기 때문에 모든 사람에게 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 인증 계정을 사용하여 복원을 시도했습니다.
필자의 경우에는 단순히 "데이터베이스 복원 ..."이 아니라 "파일 및 파일 그룹 복원 ..."을 사용하는 것이 권한이었습니다.
그것은 차이를 만들었습니다.
나에게 문제는 서버의 암호화 된 폴더에 .BAK 파일이 있다는 것입니다. 전체 관리자 권한이 있어도 SSMS가 파일을 읽을 수 없습니다. .BAK를 암호화되지 않은 폴더로 옮기면 문제가 해결되었습니다. 파일을 이동 한 후 암호화를 제거하기 위해 실제 파일의 속성을 변경해야 할 수도 있습니다 (오른쪽 클릭, 속성, 고급, "데이터를 보호하기 위해 내용 암호화")를 선택 취소하십시오.
나에게 그것은 사용자 권한 문제입니다. sa 사용자로 로그인했으며 정상적으로 작동합니다.
SQL Server 2014에서 동일한 문제가 발생했습니다 (Management Studio에서 복원 작업을 위해 백업 파일을 찾으려고 할 때 백업 파일이있는 폴더를 볼 수 없음). 이 스레드 는 내 문제를 해결 한 답변을 개최했습니다. 인용문:
SQL Server 서비스 계정은 시작-> 제어판-> 관리 도구-> 서비스에서 찾을 수 있습니다. SQL Server 서비스-> 로그온 탭을 두 번 클릭하십시오. "로컬 시스템 계정"또는 "이 계정"을 사용하여 특정 계정을 정의하게됩니다. 로컬 시스템 계정을 사용하는 경우 서버에 로컬이 아닌 백업을 참조 할 수 없습니다. 대신 사용할 계정을 정의한 경우 이는 백업 파일 위치에 액세스해야하는 계정입니다. 개인 로그온을 사용하여 백업에 액세스하는 기능은 관련이 없습니다. 백업을 시작하더라도 사용되는 SQL Server 계정입니다. IT 담당자는 각 계정에 부여 된 권한을 결정할 수 있어야합니다.
누군가에게 도움이되기를 바랍니다.
필자의 경우 (새로운 SQL Server 설치, 새로 생성 된 사용자) 내 사용자에게는 필요한 권한이 없었습니다. sa 로 Management Studio에 로그인 한 다음 보안 / 로그인으로 이동하여 내 사용자 이름, 속성을 마우스 오른쪽 단추로 클릭 한 다음 서버 역할 섹션에서 확인했습니다 sysadmin
.
저에게는 백업 파일이 다른 프로세스에 의해 여전히 열려 있기 때문입니다. 이벤트 로그는 다음과 같습니다.
BackupDiskFile :: OpenMedia : 백업 장치 'X : \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak'을 (를) 열지 못했습니다. 운영 체제 오류 32 (프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.)
Sql Server Management Studio를 닫았다가 다시 열면 문제가 해결되었습니다 (물론 핸들이있는 ssms.exe입니다.)
이 결함의 또 다른 잠재적 이유는 Google 드라이브 인 것으로 보입니다. Google 드라이브가 bak 파일을 압축하고 있으므로 Google 드라이브를 통해 데이터베이스 백업을 전송하려면 먼저 압축해야합니다.
제 경우에는 권한 문제였습니다.
Windows 사용자에게는 사용하지 않은 dbcreator
역할이 있습니다.
그래서 아래 단계를 수행했습니다.
sa
SQL 서버에 연결Security
개체 탐색기에서 확장- 넓히다
Logins
- 해당 Windows 사용자를 마우스 오른쪽 버튼으로 클릭
- 속성을 클릭하십시오
- 선택
Server Roles
에서Select a page
옵션 dbcreator
사용자의 역할 확인- 확인을 클릭하십시오
SQL Server 2012 Express 사용
내 오류 (SQL Manager-데이터베이스 복원 대화 상자에서) :
No backupset selected to be restored
또한 선택할 목록에 백업 세트가 표시되지 않았습니다.
The issue was that I had moved 1 of the 5 backup files to a folder where the SQL Server service logon user did not have permissions - I tried to add that user, but could not get the NT Service\MSSQL$SQLEXPRESS user into the security list.
I moved the file under the Documents folder for the service user, and that enabled it to read all the files I had selected - 4 at that point - and the error changed to "media set missing" - then I looked around for another backup file, and when I added that I was able to restore.
The answers in this question helped me look in the right places and work my way to a solution.
For me, It was a permission issue. I installed SQL server using a local user account and before joining my companies domain. Later on , I tried to restore a database using my domain account which doesn't have the permissions needed to restore SQL server databases. You need to fix the permission for your domain account and give it system admin permission on the SQL server instance you have.
I got the same error message even though I backup and restore on the same single machine.
The issue was from here: when backup, i had 2 item in the destination box.
So the fix would be: make sure only 1 item in the 'destination' box. Remove all the others if there are.
If you want to replace the existing database completely use the WITH REPLACE option:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE
나는 같은 문제에 부딪쳤다. 관리자로 SSMS를 실행 한 다음 마우스 오른쪽 단추를 클릭하고 데이터베이스 복원을 수행하십시오. 작동해야합니다.
이 오류가 발생하는 가장 뼈가 큰 이유에 대한 상을받는다고 생각합니다. 데이터베이스 복원 대화 상자에서 소스 아래의 데이터베이스 드롭 다운이 회색이며 비활성화되어 있다고 생각했습니다. 대상 아래의 데이터베이스 드롭 다운으로 건너 뛰고 소스라고 생각하고 선택했습니다. 이렇게하면이 오류 메시지가 표시됩니다.
참고 URL : https://stackoverflow.com/questions/12119891/no-backupset-selected-to-be-restored-sql-server-2012
'Programing' 카테고리의 다른 글
HTML에서 텍스트를 굵게 표시하려면 어떻게해야합니까? (0) | 2020.06.23 |
---|---|
알 수없는 객체에서 속성 및 값 가져 오기 (0) | 2020.06.23 |
gnuplot에 명령 줄 인수를 전달하는 방법은 무엇입니까? (0) | 2020.06.23 |
varchar 필드의 유형을 정수로 변경 : "정수 유형으로 자동으로 캐스트 할 수 없음" (0) | 2020.06.23 |
특정 태그를 git clone하는 방법 (0) | 2020.06.23 |