현재 데이터베이스 백업이 없기 때문에 BACKUP LOG를 수행 할 수 없습니다.


103

데이터베이스 복원을 시도했지만이 메시지가 표시되었습니다. 이 데이터베이스를 어떻게 복원합니까?

'farhangi_db'데이터베이스 복원에 실패했습니다.
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ 추가 정보 :

System.Data.SqlClient.SqlError :
현재 데이터베이스 백업이 없기 때문에 BACKUP LOG를 수행 할 수 없습니다 . (Microsoft.SqlServer.SmoExtended)


2
차등 백업입니까?
Amir Keshavarz

@AmirrezaKeshavarz : 뭐? (motavajeh nemisham manzuretuno)
삼안

1
어떤 종류의 백업을 복원 할 예정입니까? (트랜잭션 로그 백업 / 전체 백업 / 차등 백업?)
아미르 케샤

트랜잭션 로그가 깨진 것 같습니다
bksi

데이터베이스가 있습니까? L
Amir Keshavarz 2013 년

답변:


204

원래 데이터베이스를 만든 다음 백업 파일을 새 빈 데이터베이스로 복원했습니다.

데이터베이스> 데이터베이스 복원> 일반 : 장치 : [백업 파일 경로] → 확인을 마우스 오른쪽 버튼으로 클릭합니다.

이것은 잘못되었습니다 . 먼저 데이터베이스를 만들지 않았어야합니다.

이제 대신 이렇게합니다.

데이터베이스> 데이터베이스 복원> 일반 : 장치 : [백업 파일 경로] → 확인을 마우스 오른쪽 버튼으로 클릭합니다.


나는 같은 오류를 겪고 그것은 나를 위해 일했습니다.
javiniar.leonard

나를 위해 일함
nbhatti2001

127

이 문제의 또 다른 원인은 Take tail-log backup before restore"옵션"설정이 활성화 된 경우입니다.

"옵션"탭에서 Take tail-log backup before restore아직 존재하지 않는 데이터베이스로 복원하기 전에 비활성화 / 선택 취소 합니다.


@Peach 감사합니다. 시간을 절약 해 주셨습니다.
Frank Myat Thu

@Peach 감사합니다.
LKC

@ 복숭아 정말 감사합니다!
Mohit Dharmadhikari

그리고 "WITH REPLACE"옵션 확인
Andrii Horda

33

아래 이미지를 보고 SqlServer에 변경 사항을 적용 하십시오 .

먼저 데이터베이스 -> 작업 -> 복원 -> 백업 파일 선택 -> 마지막으로 옵션 탭에서 변경 사항 적용을 마우스 오른쪽 버튼으로 클릭합니다 .

SqlServer에 변경 사항을 적용하십시오


제 경우에는이 작업을 수행하고 첫 번째 확인란 "기존 데이터베이스 덮어 쓰기 (WITH REPLACE)"를 선택하고 작동합니다.
Amaurys Sánchez

6
  1. 새 데이터베이스가 있는지 확인하십시오.
  2. 데이터베이스 (사용자, 암호 등)에 대한 액세스 권한이 있는지 확인하십시오.
  3. 오류가없는 백업 파일이 있는지 확인하십시오.

이것이 당신을 도울 수 있기를 바랍니다.


2

이에 대한 또 다른 원인은 동일한 데이터베이스를 다른 이름으로 복원 한 경우입니다. 기존 항목을 삭제 한 다음 복원하면 해결되었습니다.


답변 해주셔서 감사합니다. Lol, 왜 Microsoft SQL Server가 "복원하기 전에 먼저 기존 데이터베이스를 삭제하십시오!"라고 말하지 않았을까요?
sivabudh

1

우리의 경우에는 로그 전달을 설정하기 위해 백업을 수행 한 후 기본 데이터베이스의 복구 모델이 변경 되었기 때문입니다.

백업을 수행하고 로그 전달을 설정 하기 전에 복구 모델이 전체 복구 로 설정되었는지 확인하면 문제가 해결되었습니다.


1

새 SQL2014 폴더 위치로 재배치에 체크 표시를하여 SQL 2008에서 SQL 2014로 존재하지 않는 DB로 복원 할 때 발생하는 오류를 수정했습니다.


1

이미 데이터베이스를 만든 경우 다음 SQL을 사용하여 복원 할 수 있습니다.

RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE

0

백업으로 덮어 쓰고 싶은 기존 DB를 삭제하고 백업에서 복원했는데 오류없이 작동했습니다.


0

복원하려는 데이터베이스 백업 파일이 복원하려는 환경과 동일한 환경에서 온 것인지 확실하지 않습니다.

.mdf 및 .ldf 파일의 대상 경로는 백업 파일 자체와 함께 존재합니다.

그렇지 않은 경우 백업 파일이 현재 호스팅 환경과 다른 환경에서 온다는 것을 의미합니다. .mdf 및 .ldf 파일 경로가 컴퓨터에서와 동일한 (존재) 있는지 확인하고 그렇지 않으면 재배치합니다. (대부분 Docker 이미지에서 db를 복원하는 경우)

방법 : 데이터베이스-> 데이터베이스 복원-> [파일] 옵션-> ( "모든 파일을 폴더로 재배치"체크-대부분 기본 경로는 이미 호스팅 환경에 채워져 있음)


0

문제가 여전히 존재하는 경우 데이터베이스 복원 페이지로 이동하여 "파일"탭에서 "모든 파일을 폴더로 복원"을 선택하십시오.


0

필자의 경우 SQL Server 2008 R2 데이터베이스를 SQL Server 2016으로 복원하고 있습니다 . 일반 탭에서 파일을 선택한 후 옵션 탭으로 이동하여 가지 작업을 수행 해야합니다.

  1. 기존 데이터베이스 덮어 쓰기를 활성화해야합니다.
  2. 레코드 끝 사본을 비활성화해야합니다.

-1

간단히이 방법을 사용할 수 있습니다.

  1. 동일한 이름의 데이터베이스가있는 경우 : WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. MySQL 데이터 폴더 경로로 이동하여 미리보기 데이터베이스 파일을 삭제합니다.
  3. SQL 서비스 시작
  4. 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 복원을 선택하십시오.
  5. 파일 탭에서 데이터 파일 폴더 및 로그 파일 폴더 변경
  6. 확인을 클릭하여 데이터베이스를 복원하십시오.

내 문제는이 방법으로 해결되었습니다.


-1

데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오. 프레스 작업> 데이터베이스를 복원하기 전에 데이터베이스에서 백업하고 백업하십시오.이 방법을 사용하여이 문제를 해결하고 있습니다.

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