데이터베이스 스냅숏의 스파스 파일 크기 이해
데이터베이스 스냅숏은 하나 이상의 스파스 파일을 사용하여 데이터를 저장할 수 있습니다. 데이터베이스 스냅숏을 만드는 동안 CREATE DATABASE 문의 파일 이름을 사용하여 스파스 파일을 만듭니다. 이러한 파일 이름은 physical_name 열의 sys.master_files에 저장됩니다.
[!참고] sys.database_files(원본 데이터베이스 또는 스냅숏에 있음)의 physical_name 열에는 항상 원본 데이터베이스 파일 이름이 있습니다.
스파스 파일은 NTFS 파일 시스템의 기능입니다. 처음에 스파스 파일에는 사용자 데이터가 없으며 사용자 데이터에 대한 디스크 공간이 할당되어 있지 않습니다. 데이터베이스 스냅숏의 스파스 파일 사용 및 테이터베이스 스냅숏 증가 방법은 데이터베이스 스냅숏 작동 방법을 참조하십시오.
스파스 파일은 처음 만들어질 때 디스크 공간을 거의 차지하지 않습니다. 스파스 파일에 데이터를 쓸수록 NTFS는 점진적으로 디스크 공간을 할당합니다. 스파스 파일은 상당히 큰 용량으로 증가할 수 있습니다. 데이터베이스 스냅숏에 공간이 부족하면 해당 데이터베이스 스냅숏은 주의 대상으로 표시되어 삭제됩니다. 그러나 원본 데이터베이스는 영향을 받지 않으며, 작업은 정상적으로 계속됩니다.
스파스 파일은 64KB씩 증분되므로 디스크상의 스파스 파일 크기는 항상 64KB의 배수입니다. 최신 64KB 증분에는 원본 데이터베이스에서 복사된 페이지 수에 따라 8KB 페이지가 1개에서 8개까지 들어 있습니다. 이는 평균적으로 스파스 파일의 크기는 실제로 페이지로 채워진 공간보다 약간 크다는 것을 의미합니다.
- 스파스 파일의 실제 크기를 확인하려면
스냅숏의 각 스파스 파일이 현재 디스크에서 사용 중인 바이트 수를 확인하려면 fn_virtualfilestats 시스템 테이블 값 함수를 사용합니다. 이 함수는 BytesOnDisk 열에 있는 파일의 현재 바이트 수를 반환합니다. 이 함수는 database_id 및 file_id를 값으로 사용합니다. 스냅숏의 데이터베이스 ID와 각 스파스 파일의 파일 ID는 sys.master_files 카탈로그 뷰에 표시됩니다. 자세한 내용은 sys.master_files(Transact-SQL) 및 fn_virtualfilestats(Transact-SQL)를 참조하십시오.
또한 스파스 파일이 사용하는 디스크 공간을 보려면 Microsoft Windows에서 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 디스크 할당 크기 값을 봅니다. - 최대 스파스 파일 크기를 확인하려면
스파스 파일이 증가할 수 있는 최대 크기는 스냅숏을 작성한 시점의 해당 원본 데이터베이스 파일 크기입니다. 이 크기를 확인하는 데 사용할 수 있는 방법은 다음과 같습니다.- Windows dir 명령을 사용합니다.
- Windows에서 스파스 파일을 선택하고 속성 대화 상자를 연 다음 크기 값을 봅니다.
- 데이터베이스 스냅숏의 sys.database_files이나 sys.master_files에서 size 열을 선택합니다. sys.database_files 또는 sys.master_files의 size 열은 SQL 페이지에서 스냅숏이 사용할 수 있는 최대 공간을 반영합니다. 이 값은 Windows 크기 필드에 해당하며, 파일의 SQL 페이지 수를 기준으로 표시되는 점이 다릅니다.
이 값의 크기는 number_of_pages * 8192(바이트)입니다.
참고 항목
개념
관련 자료
fn_virtualfilestats(Transact-SQL)
sys.database_files(Transact-SQL)
sys.master_files(Transact-SQL)