[MSSQL] 물리적인 테이블 크기 확인

가이드문구

MSSQL에서 테이블 크기를 확인하고 싶을 때

현재 사용하고 있는 데이터베이스(DB)의 테이블 크기(용량)를 확인하고 싶을 때 사용하는 쿼리 공유합니다.

수식을 사용하여 MB, GB로 변경하여 확인이 가능합니다.



아래의 쿼리에서 [DB_NAME] 을 본인의 데이터베이스명으로 변경하여 사용합니다.

  1. USE [DB_NAME]
  2. SET NOCOUNT ON
  3. CREATE TABLE #TBLSize
  4. (
  5. Tblname VARCHAR(80),
  6. TblRows INT,
  7. TblReserved VARCHAR(80),
  8. TblData VARCHAR(80),
  9. TblIndex_Size VARCHAR(80),
  10. TblUnused VARCHAR(80)
  11. )
  12. DECLARE @tablename VARCHAR(80)
  13. DECLARE TblName_cursor CURSOR
  14. FOR
  15. SELECT NAME
  16. FROM sysobjects
  17. WHERE xType = 'U'
  18. OPEN TblName_cursor
  19. FETCH NEXT FROM TblName_cursor
  20. INTO @tablename
  21. WHILE @@FETCH_STATUS = 0
  22. BEGIN
  23. INSERT INTO #tblSize
  24. (
  25. Tblname,
  26. TblRows,
  27. TblReserved,
  28. TblData,
  29. TblIndex_Size,
  30. TblUnused
  31. )
  32. EXEC Sp_SpaceUsed @tablename
  33. FETCH NEXT FROM TblName_cursor
  34. INTO @tablename
  35. END
  36. CLOSE TblName_cursor
  37. DEALLOCATE TblName_cursor
  38. SELECT CAST(Tblname AS VARCHAR(30)) 'Table',
  39. CAST(TblRows AS VARCHAR(14)) 'Row Count',
  40. CAST(LEFT(TblReserved, CHARINDEX(' KB', TblReserved)) AS INT) 'Total Space (KB)',
  41. CAST(TblData AS VARCHAR(14)) 'Data Space',
  42. CAST(TblIndex_Size AS VARCHAR(14)) 'Index Space',
  43. CAST(TblUnused AS VARCHAR(14)) 'Unused Space'
  44. FROM #tblSize
  45. ORDER BY 'Total Space (KB)' DESC
  46. DROP TABLE #TblSize
  47. SET NOCOUNT OFF
작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^