Intro
안녕하세요.
초보 DBA 다뉴입니다.
데이터베이스를 사용하다 보면 역시나 마주하게 될 문제, 바로 용량 이슈인데요.
MsSQL의 MDF, NDF라는 데이터베이스 파일에 데이터를 저장합니다.
MsSQL의 파일 구조에 대해서는 아래의 글을 참고해주세요!
각 데이터베이스의 MDF, NDF가 얼마 만큼의 용량을 사용하는지,
또 어느 경로에 파일이 위치하고 있는지 확인하는 쿼리를 자주 사용하게 되는데요.
아래에서 쿼리에 대한 자세한 내용 알아보도록 하죠.
Query
Data File 관련 정보 조회 쿼리
use [DTABASE NAME]
select b.groupname as 'File Group',
a.name as 'File Name',
a.filename as 'File Path',
convert(decimal(15, 2),
round(a.size / 128.000, 2)) as 'Data File Size (MB)',
convert(decimal(15, 2),
round(fileproperty(a.name, 'spaceused') / 128.000, 2)) as 'Used Size(MB)',
convert(decimal(15, 2),
round((a.size - fileproperty(a.name, 'spaceused')) / 128.000, 2)) as 'Available Size (MB)'
from SYS.SYSFILES as a with(nolock)
inner join SYS.SYSFILEGROUPS as b with(nolock)
on a.groupid = b.groupid
[DATABASE NAME] : data file 관련 정보를 확인하고자 하는 Database
컬럼 설명
- File Group : Data File 이 속한 File Group의 명칭
- File Name : Data File의 논리적 명칭
- File Path : Data File이 위치하는 경로
- Data File Size (MB) : File이 차지하고 있는 총 용량
- Used Size (MB) : 총 용량 중 사용 중인 용량
- Available Size (MB) : 사용 중인 용량을 제외한 남은 용량
TEST_BAN이라는 제 데이터베이스의 MDF, NDF 파일의 위치와 용량에 대해서 한번 확인해 봤습니다.
반응형
사용 시스템 테이블
1. SYS.SYSFILES
데이터베이스의 파일에 대한 기본적인 정보를 가져오는 시스템 테이블 입니다.
해당 시스템 테이블을 볼때 주의할 점이 있는데요.
size 컬럼의 크기는 1당 8kb 의 크기입니다.
위에 쿼리에서도 보셨듯이 size / 128을 하여 MB로 만드는 모습을 볼 수 있는데요.
이미 8kb의 묶음으로 되어있어 그렇습니다.
2. SYS.SYSFILEGROUPS
File Group에 대한 정보가 있는 시스템 테이블 입니다.
Outro
데이터 파일의 크기와 경로 소속된 파일 그룹을 확인 할 수 있는 쿼리에 대해서 간단하게 알아봤습니다.
데이터 파일 크기의 관리는 DB관리의 기본이 되므로 매우 중요합니다.
다들 사이즈를 한번 쯤은 확인 해보고, 상황에 맞는 조치를 취하셨으면 좋겠네요.
감사합니다.
반응형
'DATABASE > MsSQL' 카테고리의 다른 글
[MsSQL] OUTPUT - Update 사용 시, 변경 전/후 행 반환하기 (deleted/inserted) (0) | 2023.09.07 |
---|---|
[MSSQL] 커서(CURSOR) - 행(ROW) 단위 처리의 사용 법 (0) | 2023.09.06 |
[MsSQL] OUTPUT - Delete 사용 시, 삭제 된 행 반환하기 (deleted) (0) | 2023.09.05 |
[MsSQL] OUTPUT - Insert 사용 시, 삽입 된 행 반환하기 (Inserted) (0) | 2023.09.04 |
[MsSQL] Exception / Throw 사용 시 주의 사항 - rollback (1) | 2023.08.05 |
[MsSQL][SSIS] SSIS 설치 방법 - Visual Studio 2012 Shell (1) | 2023.08.02 |
[MsSQL] Table / Column Comment - 코멘트, 설명 달기 (1) | 2023.08.01 |
[MsSQL] Exception / Try~Catch 문 활용 -Transaction, Throw (1) | 2023.07.30 |