"복원할 백업 세트가 선택되지 않았습니다" SQL Server 2012
SQL Server 2012 데이터베이스가 filestream을 사용하도록 설정되어 있다.그러나 백업하고 다른 SQL Server 2012 인스턴스(다른 시스템)에 복원하려고 하면 다음과 같은 메시지가 나타납니다.
복원할 백업 세트를 선택하지 않았습니다.
단 한 줄도 더 설명하지 마세요.여기 무슨 일 있어?
filestream이 없는 다른 모든 데이터베이스는 정상이며 정상적으로 복원할 수 있습니다.filestream과 관련된 건가요?핫픽스 같은 걸 설치해야 하나요?
이 문제가 있었는데 잘못된 버전의 SQL로 복원하려고 했습니다.진행 상황에 대한 자세한 내용을 보려면 다음 SQL을 사용하여 데이터베이스를 복원해 보십시오.
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
그러면 디버깅해야 한다는 오류 메시지가 나타납니다.
내 문제는 결국 허가였다.개발 시스템에 있으며 홈 그룹을 통해 복사되었습니다.파일을 복사한 위치에 따라 권한이 잘못되어 Management Studio에서 파일을 읽을 수 없습니다.개발이기 때문에 모두에게 bak 파일에 대한 권한을 부여하고 GUI를 통해 정상적으로 복원할 수 있었습니다.
실행 시:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
다음과 같은 오류가 발생했습니다.
디바이스 'C'의 미디어 패밀리:\NorthwindDB.bak'의 형식이 잘못되었습니다.SQL Server에서 이 미디어 패밀리를 처리할 수 없습니다.RESTORE HEADER ONLY가 비정상적으로 종료되고 있습니다. (Microsoft SQL Server, 오류: 3241) 블록 인용문
알고 보니 소스 DB와 대상 DB 모두에서 호환성 수준이 동일하더라도 상위 SQL 버전에서 하위 SQL 버전으로 DB를 가져올 수 없습니다.실행 중인 SQL 버전을 확인하려면:
Select @@Version
차이점을 확인하려면 소스 SQL 서버에 DB를 만들고 백업 파일에서 복원을 시도합니다. 이 SSMS를 사용하면 백업 파일을 선택하면 하위 버전 서버에서 열 때 "복원할 백업 세트가 선택되지 않았습니다"라고 표시된 백업 파일에 대한 정보가 나타납니다.
따라서 데이터를 더 낮은 버전의 SQL로 이동해야 하는 경우 이 항목을 선택하십시오.
SQL Server Management Studio를 관리자로 실행하고(바로 가기/exe를 마우스 오른쪽 버튼으로 클릭한 후 "관리자로 실행"을 선택) 복원을 시도합니다.
버전을 혼재시킬 만큼 어리석지는 않다고 생각했습니다만, 새로운 서버에는 SQL Server 2005 인스턴스가 처음부터 설치되어 있는 것을 깨닫지 못했습니다.SSMS 2012에서 백업된 SQL Server 2008 R2 데이터베이스를 인스턴스로 복원하려고 할 때 백업 세트 목록이 비어 있었습니다.
서버의 인스턴스가 2012 인스턴스가 아니라 2005년 인스턴스라는 것을 알게 되었습니다.실제 2012 인스턴스(이 경우 이름)에 대한 연결을 끊고 연결하면 (분명히) 작동했습니다.
문제는 사용자가 빌트인 관리자 그룹에 속해 있고 SQL Server에서 Sysadmin 역할을 가진 사용자가 없다는 것입니다.Administrator로서 Management Studio를 막 시작했습니다.이렇게 하면 데이터베이스를 복원할 수 있었습니다.
참고로 복원 시 SSMS에 로그인하기 위해 동일한 (SQL 사용자) 자격 증명을 사용해야 한다는 것을 알았습니다.처음 Windows 인증 계정을 사용하여 복원을 시도했습니다.
내 경우 권한과 "Restore Files and Filegroups"를 사용한 사실이 해당됩니다.단순히 "데이터베이스 복원..."이 아니라.
그것이 차이를 만들었다.
사용자 특권의 문제입니다.sa 사용자로 로그인했는데 정상적으로 동작합니다.
문제는 이었습니다.서버의 암호화된 폴더에 있는 BAK 파일.관리자 권한이 있다고 해도 SSMS가 파일을 읽을 수 없었습니다.의 이동암호화되지 않은 폴더에 대한 BAK로 문제가 해결되었습니다.파일을 이동한 후 실제 파일의 속성을 변경하여 암호화를 제거해야 할 수도 있습니다(우클릭, 속성, 고급, "데이터 보안을 위한 콘텐츠 암호화" 선택 취소).
내 경우(새 SQL 서버 설치, 새로 생성된 사용자) 사용자에게 필요한 권한이 없습니다.Management Studio에 sa로 로그인하고 Security/Logins로 이동하여 사용자 이름 Properties를 우클릭하고 Server Roles 섹션에서 체크했습니다.sysadmin
.
SQL Server 2014에서도 같은 문제가 발생했습니다(Management Studio에서 복원 작업을 위해 백업 파일이 있는 폴더를 찾을 수 없습니다).이 실마리는 나의 문제를 해결하는 답을 가지고 있었다.견적:
SQL Server 서비스 계정은 [시작]-> [컨트롤 패널]-> [관리도구]-> [서비스]에서 찾을 수 있습니다.[ SQL Server service ]-> [ Log On ]탭을 더블 클릭합니다."로컬 시스템 계정" 또는 "이 계정"을 사용하여 특정 계정을 정의합니다.로컬 시스템 계정을 사용하는 경우 서버에 로컬이 아닌 백업을 참조할 수 없습니다.대신 사용할 계정을 정의한 경우 백업 파일 위치에 액세스할 수 있어야 하는 계정입니다.개인 로그온을 사용하여 백업에 액세스하는 기능은 관련이 없습니다. 백업을 시작하더라도 SQL 서버 계정이 사용됩니다.각 계정에 어떤 권한이 부여되는지 IT 담당자가 판단할 수 있어야 합니다.
그게 도움이 됐으면 좋겠어요.
저에게는 백업 파일이 다른 프로세스에 의해 아직 열려 있었기 때문입니다.이벤트 로그는 다음과 같습니다.
Backup Disk 파일:오픈 미디어:백업 장치 'X:\백업\MyDatabase\MyDatabase_backup_2014_08_22_132234_8270986.bak'을 열지 못했습니다.운영 체제 오류 32(다른 프로세스에서 사용 중이므로 프로세스에 액세스할 수 없습니다.)
SQL Server Management Studio를 닫았다가 다시 여는 것만으로 문제가 해결되었습니다(명백히 SSMS였습니다).핸들을 가진 exe..)
제 경우에는 허가 문제였습니다.
사용자의.dbcreator
roledisplays..
그래서 나는 아래 단계를 따랐다.
sa
SQL " "로- .를 펼칩니다.
Security
- .를 펼칩니다.
Logins
- 문제의 Windows 사용자를 오른쪽 클릭합니다.
- [속성]을 클릭합니다.
- 택 한 select다?
Server Roles
부에서Select a page
옵션 - 인 확?
dbcreator
사용자 용 할 역 the의 role for user)의 역할 - [확인] 을 클릭합니다.
이 장애의 또 다른 잠재적인 원인은 Google Drive인 것으로 보입니다.Google Drive가 bak 파일이나 다른 파일을 압축하고 있으므로 Google Drive를 통해 데이터베이스 백업을 전송하려면 먼저 압축을 풀어야 합니다.
기존 데이터베이스를 완전히 바꾸려면 WITH REPLACE 옵션을 사용합니다.
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE
SQL Server 2012 Express 사용.
SQL Manager - Restore Database 대화상자 오류:
No backupset selected to be restored
또한 선택할 백업 세트가 목록에 표시되지 않았습니다.
문제는 5개의 백업 파일 중 1개를 SQL Server 서비스 로그온 사용자에게 권한이 없는 폴더로 이동시켰다는 것입니다.그 사용자를 추가하려고 했지만 NT 서비스를 받을 수 없었습니다.MSQL$SQLLEXPRESS 사용자를 보안 목록에 추가합니다.
서비스 사용자의 Documents 폴더 아래 파일을 이동하면 선택한 파일을 모두 읽을 수 있게 됩니다(그 시점에서 4개). 오류가 "media set missing(미디어 세트 누락)"으로 바뀌었습니다.그 후 다른 백업 파일을 찾아보고 복원할 수 있게 되었습니다.
이 질문의 답변은 적절한 장소를 찾고 해결책을 찾는 데 도움이 되었습니다.
저한테는 허가 문제였어요.로컬 사용자 계정을 사용하여 SQL Server를 설치하고 회사 도메인에 가입했습니다.나중에 SQL Server 데이터베이스를 복원하는 데 필요한 권한이 없는 도메인 계정을 사용하여 데이터베이스를 복원하려고 했습니다.도메인 계정에 대한 권한을 수정하고 보유하고 있는 SQL 서버 인스턴스에 대한 시스템 관리자 권한을 부여해야 합니다.
백업과 restore를 같은 머신으로 해도 같은 에러 메세지가 표시됩니다.
여기서부터가 문제였습니다.백업할 때 대상 박스에 2개의 아이템이 있었습니다.
따라서 'destination' 상자에 항목을 하나만 넣어야 합니다.다른 것이 있는 경우는 모두 떼어냅니다.
저도 같은 문제에 부딪혔어요.SSMS를 관리자로 실행하고 마우스 오른쪽 버튼을 클릭하여 데이터베이스 복원을 수행합니다.될 거야.
나는 이 오류를 범한 가장 뼈있는 이유로 상을 받을 것 같다.[데이터베이스 복원]대화상자에서 [소스]아래에 있는 데이터베이스 드롭다운이 회색으로 표시되어 비활성화되어 있는 것으로 알고 있습니다.소스인 줄 알고 [Destination](대상) 아래 데이터베이스 드롭다운으로 건너뛰고 선택하였습니다.이렇게 하면 이 오류 메시지가 표시됩니다.
언급URL : https://stackoverflow.com/questions/12119891/no-backupset-selected-to-be-restored-sql-server-2012
'programing' 카테고리의 다른 글
null도 허용하는 고유한 제약조건을 작성하려면 어떻게 해야 합니까? (0) | 2023.04.07 |
---|---|
MemoryStream에서 문자열을 가져오려면 어떻게 해야 합니까? (0) | 2023.04.07 |
데이터베이스에서 값 찾기 (0) | 2023.04.07 |
SQL Output 절에서 삽입되지 않은 열을 반환할 수 있습니까? (0) | 2023.04.07 |
시간을 클리어 또는 정지하는 방법angularjs 간격? (0) | 2023.04.02 |