development

백업 세트는 기존 이외의 데이터베이스 백업을 보유합니다.

big-blog 2020. 2. 17. 22:20
반응형

백업 세트는 기존 이외의 데이터베이스 백업을 보유합니다.


데이터베이스의 SQL Server 백업 파일을 복원하려고하는데 다음과 같이 오류가 발생합니다.

백업 세트는 기존 이외의 데이터베이스 백업을 보유합니다.

SQL Server 2008의 내 데이터베이스와 백업 파일은 2005입니다.

무엇이 문제가 될 수 있습니까?


나도이 문제를 만났다.

해결책 :

  • 빈 데이터베이스를 작성하지 말고 .bak파일을 복원하십시오 .
  • SQL Server Management Studio의 "데이터베이스"분기를 마우스 오른쪽 단추로 클릭하여 액세스 할 수있는 '데이터베이스 복원' 옵션을 사용 하고 복원 할 소스를 제공하면서 데이터베이스 이름을 제공하십시오.
  • 다른 데이터베이스가 여전히 존재하는 경우 "파일"에서 파일 이름을 변경하십시오. 그렇지 않으면 "파일 '...'을 (를) 덮어 쓸 수 없습니다. 데이터베이스 'yourFirstDb'에서 사용 중입니다."가 표시됩니다.

어느 한 쪽:

1) 명령을 사용 WITH REPLACE하는 동안 사용하십시오 RESTORE(GUI를 사용하는 경우 옵션-> 기존 데이터베이스 겹쳐 쓰기 ( WITH REPLACE)에 있음).

2) Delete충돌하는 이전 데이터베이스이며 RESTORE명령을 사용하여 다시 복원하십시오 .

자세한 내용 링크확인 하십시오.


먼저 같은 이름의 빈 데이터베이스를 만듭니다. 그런 다음 복원 옵션으로 이동하십시오.

아래 옵션 의 왼쪽 창에서 선택하는 것을 잊지 마세요

  • 기존 데이터베이스 덮어 쓰기
  • 복제 설정 유지

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

그게 다야


SSMS 2014를 사용하여 동일한 문제에 직면하여 해결책을 찾았습니다.

-옵션을 선택하면 기존 데이터베이스 덮어 쓰기 (WITH REPLACE) 

기존 데이터베이스> 작업> 복원> 데이터베이스


USE [master];
GO

CREATE DATABASE db;
GO

CREATE DATABASE db2;
GO

BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO

RESTORE DATABASE db2
  FROM DISK = 'c:\temp\db.bak'
  WITH REPLACE,
  MOVE 'db' TO 'c:\temp\db2.mdf',
  MOVE 'db_log' TO 'c:\temp\db2.ldf';

원본 .mdf.ldf파일 Db있을 수 있으며이 c:\programFile\....정보가 백업에 저장 되었기 때문입니다 .

설치가있는 다른 SQL Server에서 동일한 DB를 작성하면 c:\program Files (x86)\ ....평소대로 복원 할 수 없습니다. .mdf.ldf파일 의 경로를 재배치해야합니다 .

따라서:

  • 새 서버에서 빈 DB를 만듭니다.

  • 빈 Db> 작업> 복원> 데이터베이스를 마우스 오른쪽 단추로 클릭하고 장치를 클릭 한 다음 .bak파일을 선택하고 Db를 선택하여 복원하십시오.

  • 왼쪽의 파일을 클릭하고 "모든 파일을 폴더로 재배치"를 선택하십시오.
  • 왼쪽 사이트에서 옵션을 클릭하고 덮어 쓰기를 클릭하십시오.

끝난!
그것이 도움이되기를 바랍니다!


간단한 3 단계 :

1- 데이터베이스> 작업> 복원> 데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오.

2- Device소스로 확인 하고 .bak 파일을 찾습니다

3- 왼쪽 창에서을 클릭 options하고 다음을 수행 하십시오 .

  1. 기존 데이터베이스 덮어 쓰기를 확인하십시오 .
  2. 복원하기 전에 테일 로그 백업을 선택 취소하십시오.
  3. 점검 대상 데이터베이스에 가까운 기존의 연결을.
  4. 다른 옵션은 실제로 선택 사항입니다!

나는 오늘 비슷한 문제에 부딪쳤다. 위의 모든 솔루션을 시도했지만 작동하지 않았습니다. 내 솔루션을 여기에 게시하십시오.

복원 전에 Tail-long Backup을 선택 취소하는 것을 잊지 마십시오

복원 전에 Tail-long Backup을 선택 취소하는 것을 잊지 마십시오

그것이 다른 사람들도 도울 수 있기를 바랍니다!


스크립트 접근 방식을 사용 중이고 LDF 및 MDF 파일과 관련된 오류가있는 경우 먼저 다음을 사용하여 백업 세트에서 파일 논리적 이름 (및 기타 세부 사항)에 대해 백업 파일조회 할 수 있습니다 .

-- Queries the backup file for the file list in backup set, where Type denotes 
-- type of file. Can be L,D,F or S
-- info: https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql
RESTORE FILELISTONLY FROM DISK = 'C:\Temp\DB_backup.bak'
GO

다음과 유사한 결과가 나타납니다.

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

그런 다음 쿼리에서 해당 논리적 이름을 사용할 수 있습니다.

    -- Script assumes you want MDF and LDF files restored on separate drives. Modify for your scenario
    RESTORE DATABASE DB 
    FROM DISK='C:\Temp\DB_backup.bak'
    WITH REPLACE,
      MOVE 'DB' TO 'E:\MSSQL\Data\DB.mdf', -- "DB" is the mdf logical name from query above
      MOVE 'DB_log' TO 'F:\MSSQL\Logs\DB.mdf'; -- "DB_log" is LDF logical name from query above

자세한 내용 RESTORE FILELISTONLY 은 SQL Server 문서에서 찾을 수 있습니다 .


또한 데이터베이스 이름 은 복원하려는 백업 데이터베이스 이름과 일치 해야 합니다 . 일치하지 않으면 동일한 오류가 발생합니다.


Before doing anything else, confirm if your backup is Full or Differential. If you're trying to create a new database out of a differential backup, no matter what you do you will encounter the error.


system.data.sqlclient.sqlerror:The backup set holds a backup of a database other than the existing 'Dbname' database

I have came across to find soultion

  1. Don't Create a database with the same name or different database name !Important.

  2. right click the database | Tasks > Restore > Database

  3. Under "Source for restore" select "From Device"

  4. Select .bak file

  5. Select the check box for the database in the gridview below

  6. To DataBase: "Here You can type New Database Name" (Ex:DemoDB)

  7. Don't select the Existing Database From DropDownlist

  8. Now Click on Ok Button ,it will create a new Databse and restore all data from your .bak file .

you can get help from this link even

Hope it will help to sort out your issue...


Same issue with me.The solution for me is:

  1. Right click on the database.
  2. Select tasks, select restore database.
  3. Click options on the left hand side.
  4. Check first option OverWrite the existing database(WITH REPLACE).
  5. Go to General, select source and destination database.
  6. Click OK, that's it

I was just trying to solve this issue.

I'd tried everything from running as admin through to the suggestions found here and elsewhere; what solved it for me in the end was to check the "relocate files" option in the Files property tab.

Hopefully this helps somebody else.


I had to create new db on my local for testing & i had a back up from my prod. I created the db first and tried to run the BAK on top of the new db which produced this error for me. I deleted the db and restored it while sourcing the new db name in the restore screen itself. The db was automatically created on restore.


I got work done through alternate way, using Generate scripts. That did work for me as Backup-Restore didn't help to resolve the issue due to same error.


Some of you have highly over complicated this. I found this to be extremely simple.

1) Create a database with the same name as your .bak file database name !Important

2) right click the database | Tasks > Restore > Database

3) Under "Source for restore" select "From Device"

4) Select .bak file

5) Select the check box for the database in the gridview below

6) Under "Select a Page" on the right Select "Options"

7) Select the checkbox labeled "Preserve the replication settings(WITH KEEP_REPLICATION)

Now Go back to the General page and click OK to restore the database...That is it.


In the Options, change the "Restore As" file name to the new database mdf and ldf. It is referencing the source database .mdf and .ldf files.


You can restore to a new DB, verify the file name syntax, it ll be in the log file, for the new SQL version ll be a "_log" suffix

ad check the overwrite the existing database flag in option tab

Fabio


Im sure this problem is related to the files and folders permissions.


I was trying to restore a production database to a staging database on the same server.

The only thing that worked in my case was restore to a new blank database. This worked great, did not try to overwrite production files (which it would if you just restore production backup file to existing staging database). Then delete old database and rename - the files will keep the new temp name but in my case that is fine.

(Or otherwise delete the staging database first and then you can restore to new database with same name as staging database)


instead of click on Restore Database click on Restore File and Filegroups..

thats work on my sql server

참고URL : https://stackoverflow.com/questions/10204480/the-backup-set-holds-a-backup-of-a-database-other-than-the-existing



반응형