왜 TO DISK = N’NUL’
?
왜 당신이 사용하는지 이해하지 못합니다 TO DISK = N’NUL’
:
BACKUP
DATABASE [test0916aj8CJ] TO DISK = N’NUL’
그렇게하면 백업이에 저장됩니다 NUL
(예 : = 아무 데나 없음). 파일이 없기 때문에 사용할 수 없습니다.
NUL
LOG 백업의 대상으로도 사용할 수 있지만 LOG가 유실되고 백업 체인이 손상되므로 특히 Prod 서버에서도 사용해서는 안됩니다. (~와 유사 SHRINKFILE
)
로그 백업
DB를 그룹에 추가하기 전에 준비해야합니다. 보조 DB를 준비하려면 최소 1 개의 트랜잭션 로그 백업을 수행하고 복원해야합니다. 미러는이를 사용하여 보조 DB에서 이미 동기화 된 트랜잭션과 아직 기본 DB와 동기화되지 않은 트랜잭션을 파악합니다.
따라서 기본 DB에서 트랜잭션 로그를 백업해야합니다.
BACKUP LOG [test0916aj8CJ] TO DISK = N'....bak'
WITH COPY_ONLY, FORMAT, INIT, NAME = N'test0916aj8CJ-Transaction Log Backup', STATS = 10
COPY_ONLY
옵션을 사용해야합니다. LOG 백업이 끝날 때 로그가 잘리지 않도록합니다.
기본 DB 백업 체인
그러나 백업 체인이 없으면 로그 백업 만 복원 할 수 없습니다 (Kin 응답도 참조). 이는 전체 데이터베이스 백업 (필요한 경우 선택적인 차등)을 수행 한 후 트랜잭션 로그 백업을 수행해야 함을 의미합니다.
이 COPY_ONLY
옵션은 백업 체인을 중단하지 않기 때문에 백업 체인도 생성하지 않습니다. 이 COPY_ONLY
옵션은 데이터베이스 백업에 사용할 수 없습니다.
순서대로 백업 :
COPY_ONLY
옵션이 없는 전체 데이터베이스 백업
- 선택적 차등 백업
COPY_ONLY
옵션이있는 1 LOG 백업
- 필요한 경우 다른 (또는 그 이상) LOG 백업 ...
보조 DB 복원
그런 다음 보조에서 데이터베이스 백업을 복원해야합니다 (+ 차등).
NORECOVERY
FULL 백업이 복원되면 LOG 백업도 복원하기 때문에 옵션 으로 복원해야합니다 .
마지막으로 LOG 백업을 복원합니다. NORECOVERY
미러가 트랜잭션을 한 번만 복원하면 계속해서 옵션 을 사용해야합니다 .
NORECOVERY
옵션으로 전체 백업을 복원
NORECOVERY
옵션으로 DIFF 백업 복원
NORECOVERY
옵션을 사용하여 모든 LOG 백업 복원
모두 함께합시다 (환경에 맞게)
기본 서버에서 다음을 실행하십시오.
USE master
Go
BACKUP DATABASE [test0916aj8CJ] TO DISK = N'....bak'
WITH FORMAT, INIT, NAME = N'test0916aj8CJ-Full Database Backup', STATS = 10
GO
BACKUP LOG [test0916aj8CJ] TO DISK = N'....bak'
WITH COPY_ONLY, FORMAT, INIT, NAME = N'test0916aj8CJ-Transaction Log Backup', STATS = 10
GO
보조 서버에서 다음을 실행하십시오.
USE master
Go
RESTORE DATABASE [test0916aj8CJ] FROM DISK = N'....bak'
WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 10
GO
RESTORE LOG [test0916aj8CJ] FROM DISK = N'....bak'
WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10
그런 다음 가용성 그룹에 새 보조 DB 추가를 진행할 수 있습니다.
선택적 조치
- DISK 옵션을 기본 및 보조 서버에서 모두 사용할 수있는 공유 폴더로 설정하는 것이 좋습니다.
- DB 파일을 기본 및 보조 서버 모두에서 유사한 디스크 및 위치에 저장하는 것이 좋습니다.