MSSQL 트랜잭션 로그 파일과 로그 백업 파일 크기가 다르게 생성되는 이유
DB Skill/MSSQL 2021. 11. 27. 00:45
현상
동일한 OS 버전 / 동일한 MSSQL 버전 / 동일한 구조 / 동일한 요청량
동일한 조건이지만 트랜잭션 로그 및 로그 백업 파일의 사이즈가 약 8배 차이가 나는 경우
원인
Physical Disk Sector 크기의 차이
기존에는 Physical Disk Sector 사이즈를 512 Byte를 사용하였지만, 최근 H/W 스펙이 올라가며 4096 Byte를 디폴트로 설정되어 구성되는 경우가 있음.
확인
명령프롬포트(CMD)를 관리자모드로 실행하여 아래 명령어 실행
fsutil fsinfo ntfsinfo yourLogDrive:
fsutil fsinfo sectorinfo yourLogDrive:
------------- 실행 예
C:\WINDOWS\system32>fsutil fsinfo ntfsinfo D:
NTFS 볼륨 일련 번호 : 0x???????????????
NTFS 버전 : 3.1
LFS 버전 : 2.0
총 섹터 : 1,953,519,615 (931.5 GB)
총 클러스터 : 244,189,951 (931.5 GB)
사용 가능한 클러스터 : 217,448,760 (829.5 GB)
예약된 총 클러스터 : 5,087 ( 19.9 MB)
저장소 예약을 위해 예약됨 : 0 ( 0.0 KB)
섹터당 바이트 : 512
실제 섹터당 바이트 : 4096
클러스터당 바이트 : 4096
C:\WINDOWS\system32>fsutil fsinfo sectorinfo D:
LogicalBytesPerSector: 512
PhysicalBytesPerSectorForAtomicity: 4096
PhysicalBytesPerSectorForPerformance: 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity: 4096
장치 맞춤: 정렬됨(0x000)
장치 파티션 맞춤: 정렬됨(0x000)
일반 검색 수행
자르기 지원 안 됨
DAX 지원 안 함
씬 프로비저닝되지 않음
C:\WINDOWS\system32>
PhysicalBytesPerSector와 Transaction Log I/O간의 관계
SQL Server transaction log 파일은 physical sector-aligned boundary 로 생성되며, sector-aligned sizes 와 sector-aligned boundaries 로 데이터가 쓰여집니다.
즉, PhysicalBytesPerSector 크기에 따라 IO 단위가 달라지며, 이 값이 512 bytes 인 경우 트랜잭션 로그는 512 Bytes – 60KB 단위로 저장될 수 있습니다.
또한 PhysicalBytesPerSector 크기가 4KB일 경우 4 KB – 60KB 단위로 저장될 수 있습니다.
'DB Skill > MSSQL' 카테고리의 다른 글
SQL Server 관리자 전용 연결 ( DAC ) (0) | 2022.03.28 |
---|---|
[Cluster] The Cluster service cannot be started (0) | 2022.03.16 |
데이터베이스 소유자 변경이 되지 않을때 error 15138 / 15110 (0) | 2021.09.30 |
[MSSQL] sp_configure 'max worker threads' default value (0) | 2021.09.13 |
windows 장비 클러스터 구성시, 원격 레지스트리에 엑세스하지 못했습니다. ( Remote Registry Access Denied ) (0) | 2021.09.09 |