.bak가 백업하는 데이터베이스보다 훨씬 작은 이유는 무엇입니까?


11

방금 SQL Server 데이터베이스를 백업했습니다. MDF와 LDF 파일은 모두 약 29GB이지만 .bak 파일은 23GB에 불과하여 약 20 % 작습니다.

데이터 집합의 한 버전이 동일한 데이터를 포함하는 다른 버전보다 작을 때의 첫 번째 추측은 데이터 압축이지만 압축은 일반적으로 데이터베이스 테이블과 같이 높은 순서의 데이터의 경우 압축률이 20 %보다 훨씬 낫습니다. ) 또한 압축 된 데이터는 더 이상 쉽게 압축 할 수 없지만 .bak 파일을 압축 할 수 있다는 것을 알고 있습니다.

따라서 데이터가 압축되지 않고 삭제되지 않는 경우 (백업의 요점은 나중에 동일한 상태로 데이터를 복원 할 수 있기 때문에) 고려되지 않은 20 %는 무엇입니까?

답변:


16

공간이 데이터베이스 파일에 할당되었지만 사용되지 않았습니다.

새 데이터베이스를 생성하고 크기를 10GB로 만들고 파일이 디스크에 해당 공간을 할당하는 것을 볼 수 있습니다. 그러나 데이터베이스에 데이터를 넣을 때까지 파일은 기본적으로 비어 있으며 백업 파일 크기가 최소화됩니다.

HTH


10

전체 백업의 경우 LDF는 일반적으로 무시할 수 있습니다

MDF에는 실제 데이터가 포함됩니다

Bak 파일에는 mdf 내에서 사용중인 데이터 페이지 만 포함됩니다. 일부 공간은 사용되지 않습니다. 이 공간은 예를 들어 인덱스 재 구축을위한 오버 헤드 사용자입니다.

250gb mdf를 가질 수있는 DB에 대해 100gb 백업을하는 것이 일반적입니다. 내 mdf가 내 백업과 동일한 크기이면 예기치 않은 DB 축소 또는 디스크 공간 부족 등의 위험이 있습니다.


4

DB가 생성 될 때 데이터 및 로그 파일에 할당 할 공간을 (성능을 위해) 지정할 수 있습니다. 이 공간은 테이블에 데이터가 저장되지 않은 경우에도 예약됩니다. 데이터가 기록 된 익스텐트 만 백업됩니다.

귀하의 경우 MDF / LDF 총계는 100GB 일 수도 있지만 백업은 여전히 ​​23GB 정도입니다. 약 1GB의 데이터가 추가 된 경우 MDF / LDF 총계는 여전히 100GB이지만 백업은 약 24GB입니다.

전체 백업에는 데이터가있는 모든 범위와 약간의 로그 파일이 포함됩니다. 전체 백업에는 백업 작업이 시작된 시점뿐만 아니라 백업 작업이 종료 된 시점의 모든 데이터가 포함됩니다. 이것이 약간의 로그 파일도 필요한 이유입니다.

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