메모리 최적화 테이블이 포함된 데이터베이스 백업하기
적용 대상: SQL Server
메모리 최적화 테이블은 일반 데이터베이스 백업의 일부로 백업됩니다. 디스크 기반 테이블의 경우 데이터 및 델타 파일 쌍의 CHECKSUM은 스토리지 손상을 감지하기 위해 데이터베이스 백업의 일부로 유효성을 검사합니다.
참고 항목
백업하는 동안 메모리 최적화 파일 그룹의 하나 이상의 파일에서 CHECKSUM 오류를 감지하면 백업 작업이 실패합니다. 이 경우 마지막으로 알려진 정상 백업에서 데이터베이스를 복원해야 합니다.
백업이 없는 경우 메모리 최적화 테이블 및 디스크 기반 테이블에서 데이터를 내보내고 데이터베이스를 삭제하고 다시 생성한 후 다시 로드할 수 있습니다.
메모리 최적화 테이블이 하나 이상인 데이터베이스의 전체 백업은 디스크 기반 테이블의 할당된 스토리지(있는 경우), 활성 트랜잭션 로그, 메모리 최적화 테이블의 데이터 및 델타 파일 쌍(검사점 파일 쌍이라고도 함)으로 구성됩니다. 그러나 메모리 최적화 테이블의 내구성에 설명된 대로 메모리 최적화 테이블에서 사용하는 스토리지는 메모리 크기보다 훨씬 클 수 있으며 데이터베이스 백업의 크기에 영향을 줍니다.
전체 데이터베이스 백업
여기에서는 디스크 기반 테이블의 백업이 동일하기 때문에 지속형 메모리 최적화 테이블만 포함된 데이터베이스의 데이터베이스 백업을 중점적으로 살펴봅니다. 메모리 최적화 파일 그룹의 검사점 파일 쌍은 다양한 상태에 있을 수 있습니다. 아래 표에서는 백업되는 파일의 일부를 설명합니다.
검사점 파일 쌍 상태 | Backup |
---|---|
PRECREATED | 파일 메타데이터만 |
UNDER CONSTRUCTION | 파일 메타데이터만 |
활성 | 파일 메타데이터 및 사용된 바이트 |
MERGE TARGET | 파일 메타데이터만 |
WAITING FOR LOG TRUNCATION | 파일 메타데이터 및 사용된 바이트 |
검사점 파일 쌍의 상태에 대한 설명은 sys.dm_db_xtp_checkpoint_files(Transact-SQL) 및 해당 열 state_desc를 참조하세요.
하나 이상의 메모리 최적화 테이블을 사용하는 데이터베이스 백업의 크기는 일반적으로 메모리 크기보다 크지만 디스크 내 스토리지보다 작습니다. 추가 크기는 다른 요소 중에서 삭제된 행의 수에 따라 달라집니다.
전체 데이터베이스 백업의 크기 예측
Important
메모리 내 OLTP에 대한 백업 크기를 예측하려면 BackupSizeInBytes 값을 사용하지 않는 것이 좋습니다.
첫 번째 워크로드 시나리오는 주로 삽입을 위한 것입니다. 이 시나리오에서 대부분의 데이터 파일은 활성 상태이고 완전히 로드되며 삭제된 행은 거의 없습니다. 데이터베이스 백업의 크기는 메모리의 데이터 크기에 가깝습니다.
두 번째 작업 시나리오에서는 삽입, 삭제 및 업데이트 작업을 많이 수행합니다. 최악의 경우 삭제된 행을 고려한 후 각 검사점 파일 쌍이 50% 로드됩니다. 따라서 데이터베이스 백업의 크기는 적어도 메모리 내 데이터 크기의 2배입니다.
메모리 최적화 테이블이 포함된 데이터베이스의 차등 백업
메모리 최적화 테이블의 스토리지는 메모리 최적화 테이블의 내구성에 설명된 대로 데이터 및 델타 파일로 구성됩니다. 메모리 최적화 테이블이 포함된 데이터베이스의 차등 백업에는 다음 데이터가 포함됩니다.
디스크 기반 테이블을 저장하는 파일 그룹에 대한 차등 백업은 메모리 최적화 테이블의 존재에 영향을 받지 않습니다.
활성 트랜잭션 로그는 전체 데이터베이스 백업과 동일합니다.
메모리 최적화 데이터 파일 그룹의 경우 차등 백업은 전체 데이터베이스 백업과 동일한 알고리즘을 사용하여 백업에 대한 데이터 및 델타 파일을 식별하지만 다음과 같이 파일의 하위 집합을 필터링합니다.
데이터 파일에는 새로 삽입된 행이 포함되어 있으며, 행이 가득 차면 닫히고 읽기 전용으로 표시됩니다. 데이터 파일은 마지막 전체 데이터베이스 백업 후에 닫힌 경우에만 백업됩니다. 차등 백업에서는 마지막 전체 데이터베이스 백업 이후로 삽입된 행을 포함하는 데이터 파일만 백업합니다. 예외는 삽입된 행 중 일부가 이미 가비지 수집용으로 표시되었거나 이미 가비지 수집되었을 수 있는 업데이트 및 삭제 시나리오입니다.
델타 파일은 삭제된 데이터 행에 대한 참조를 저장합니다. 이후 트랜잭션은 행을 삭제할 수 있어 델타 파일을 수명 주기 시간에 언제든지 수정할 수 있으므로 닫히지 않습니다. 델타 파일은 항상 백업됩니다. 델타 파일은 일반적으로 스토리지의 10% 미만을 사용하기 때문에 차등 백업 크기에 미치는 영향을 최소화합니다.
메모리 최적화 테이블이 데이터베이스 크기의 상당 부분을 차지하는 경우 차등 백업으로 데이터베이스 백업의 크기를 대폭 줄일 수 있습니다. 일반적인 OLTP 워크로드의 경우 차등 백업은 전체 데이터베이스 백업보다 훨씬 작습니다.