2017-09-11 11 views
0

나는 두 개의 백업 파일이 (MS SQL 서버) 1) Demo.bak 2) DemoDiff.bak데이터베이스 상태가 장기간에 대해 '복원'으로 표시되어

내가 원하는 기본 데이터베이스 (Demo.bak)를 복원 한 다음 차등 백업 (DemoDiff.bak)을 복원하십시오. 차등 데이터베이스를 복원해야하므로 NORECOVERY 옵션을 사용하여 기본 데이터베이스를 복원해야합니다. 그러나 NORECOVERY 옵션으로 복원하면 데이터베이스 상태가 오랫동안 '복원 중'으로 표시됩니다 (사실 3519KB 크기).

누구든지 나를 도와 줄 수 있습니까?

+0

는 마법사 또는 TSQL을 통해이 일을하고 있습니까 ? – SQLChao

+0

두 가지 방법을 시도했습니다. –

답변

0

RESTORING은 NORECOVERY를 사용한 RESTORE 이후 데이터베이스의 예상 상태입니다. 그런 다음 트랜잭션 로그 백업 또는 차등 백업을 적용 할 수 있습니다.

복구는 RESTORING에서 ONLINE으로 데이터베이스를 사용합니다.

+0

답장을 보내 주셔서 감사합니다. 여기 내 질문입니다 복원을위한 전체 백업 스크립트를 실행 한 후에 차등 백업 스크립트를 실행해야합니다. 따라서 전체 백업 복원 스크립트에 NORECOVERY 옵션을 사용해야합니다. NORECOVERY 옵션을 사용하면 데이터베이스 상태가 * 복원 중임 (다른 상태로 변경되지 않음)으로 표시됩니다. 데이터베이스 크기는 3159KB입니다. –

+0

그래서 다시 귀하의 질문은 무엇입니까? –

+0

제 문제를 어떻게 해결할 수 있습니까? 지난 2 일 동안 데이터베이스 (매우 작은 DB) 상태가 '복원 중'상태로 표시됩니다. 기본 백업을 성공적으로 복원하지 않으면 내 차등 백업을 복원 할 수 없습니다. –

0

데이터베이스가 복구 모드가 아닐 때까지 로그 파일을 복원 할 수 있습니다. 데이터베이스가 복구되면 작동 중이고 데이터베이스 작업을 계속할 수 있습니다. 데이터베이스에 다른 작업이있는 경우 데이터베이스를 복구 한 후에 로그 파일 체인으로 추가 로그를 복원 할 수 없습니다. 이것이 복원 될 때 데이터베이스가 norecovery 상태 여야하는 이유입니다.

데이터베이스를 복구하는 데는 세 가지 방법이 있습니다.

1) 다음 명령을 사용하여 데이터베이스를 수동으로 복구하십시오.

는)

이 복구

함께 DATABASE 데이터베이스 _ 복원 마지막 로그 파일로 데이터베이스를 복구 할 수 있습니다.

은 박가

을 복원 할 때 데이터베이스를 복구)

3 복구

함께 backup_device의 로그 데이터베이스 _ 복원 WITH RECOVERY를 backup_device로부터 DATABASE 데이터베이스 _ 복원

+0

전체 백업 후 차등 백업을 복원해야합니다. 지원. 그래서 NORECOVERY 만 사용해야합니다. 내가 틀렸다면 나를 바로 잡아라. –