본문 바로가기
컴퓨터관련/MS-SQL

[MS-SQL]테이블별 사용 용량 확인하기

by 빛과 어둠사이 2019. 8. 20.
728x90
반응형
SMALL

이번에는 MS-SQL에서 

현재 사용중인 테이블들에 대해서

용량을 확인하는 방법을 정리해보고자 합니다.


솔직히 이것은 거의 볼 일이 없기는 합니다.

그래도 나중에 혹시 확인을 해야 할 수 있으니

알고 있어서 나쁠 건 없을 것 같습니다.


방법은 간단합니다.

쿼리를 돌리면 됩니다.

쿼리는 다음과 같습니다.

SELECT 
  CONVERT(VARCHAR(30), MIN(O.NAME)) AS TABLENAME
  , LTRIM(STR(SUM(RESERVED) * 8192.0 / 1024.0 / 1024.0, 15,0)) AS TABLESIZE
FROM SYSINDEXES I 
  INNER JOIN SYSOBJECTS O ON (O.ID = I.ID)
WHERE 
  I.INDID IN (0, 1, 255) 
  AND O.XTYPE = 'U'
GROUP BY I.ID

위처럼 돌리게 되면

결과는 아래처럼 나오게 됩니다.



TABLENAME은

현재 접속한 DB에서

사용하는 모든 테이블명입니다.


그리고 TABLESIZE는 

해당 테이블에서 사용하고 있는

용량을 나타냅니다.

용량은 MB 기준으로

나오게 되어 있습니다.


이 용량은 KB나

GB 기준으로 변경할 수 있습니다.

변경 방법은 간단합니다.


위 TABLESIZE 계산하는 쿼리에서

/1024.0 을 

제거 혹은 추가를 해주면 됩니다.


나누는 계산식을 지우게 되면

KB 기준으로 나오게 됩니다.

그러면 반대로 하나 더 넣게 된다면

GB 기준으로 나오게 되는거죠.


그런데 솔직히 GB까지

단일 테이블이 갈 일은

거의 없지 않을까 싶습니다.

MB나 KB 기준으로 보면 될 거 같기는 합니다.



위에도 얘기한 것처럼

거의 쓸 일은 없을거 같기는 하지만

그래도 알고 있어서 나쁘지 않고,

DB를 관리하시는 DBA라면

알고 있어야 할 거 같은거라서

정리해보았습니다.



이상으로 MSSQL에서 TABLE별 

사용하는 용량을 확인하는 방법이였습니다~



728x90
반응형
LIST