본문 바로가기
DATABASE/MsSQL

[MsSQL] 자주 쓰는 쿼리 - Data File Size, Data File 경로 확인 (MDF, NDF)

by DANEW 2023. 9. 2.

Intro

안녕하세요.

초보 DBA 다뉴입니다.

 

데이터베이스를 사용하다 보면 역시나 마주하게 될 문제, 바로 용량 이슈인데요.

 

MsSQL의 MDF, NDF라는 데이터베이스 파일에 데이터를 저장합니다.

MsSQL의 파일 구조에 대해서는 아래의 글을 참고해주세요!

 

[MsSQL] Database File(Data File, Log File) / File Group

Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘은 MsSQL의 데이터베이스 파일과 파일 그룹에 대해 알아보도록 하겠습니다. Database File File의 종류 데이터베이스 파일의 종류로는 크게 데이터 파일(Data

da-new.tistory.com

각 데이터베이스의 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

 

sys.sysfiles(Transact-SQL) - SQL Server

sys.sysfiles(Transact-SQL)

learn.microsoft.com

데이터베이스의 파일에 대한 기본적인 정보를 가져오는 시스템 테이블 입니다.

해당 시스템 테이블을 볼때 주의할 점이 있는데요.

 

size 컬럼의 크기는 1당 8kb 의 크기입니다.

 

위에 쿼리에서도 보셨듯이 size / 128을 하여 MB로 만드는 모습을 볼 수 있는데요.

이미 8kb의 묶음으로 되어있어 그렇습니다.

2. SYS.SYSFILEGROUPS

 

sys.sysfilegroups (Transact-SQL) - SQL Server

sys.sysfilegroups (Transact-SQL)

learn.microsoft.com

File Group에 대한 정보가 있는 시스템 테이블 입니다.


Outro

데이터 파일의 크기와 경로 소속된 파일 그룹을 확인 할 수 있는 쿼리에 대해서 간단하게 알아봤습니다.

데이터 파일 크기의 관리는 DB관리의 기본이 되므로 매우 중요합니다.

 

다들 사이즈를 한번 쯤은 확인 해보고, 상황에 맞는 조치를 취하셨으면 좋겠네요.

 

감사합니다.

반응형