물리적인 테이블 크기 확인하기
포스팅 개요
가끔 테이블마다 얼마만큼의 데이터가 쌓여있는지 그 크기(용량)를 확인할 필요할 필요가 있습니다. 각 테이블마다 정확한 MB, GB 등의 수치로 표현하여 확인할 수 있다면 지나치게 낭비되는 테이블을 검색하실 때 도움이 됩니다.
예제 쿼리
아래 쿼리문에서 DB_NAME단어를 데이터베이스 이름으로 변경합니다. 대괄호 부분은 지우지 않아도 이름만 맞추면 문제가 없습니다.
USE [DB_NAME]
SET NOCOUNT ON
CREATE TABLE #TBLSize
(
Tblname VARCHAR(80),
TblRows INT,
TblReserved VARCHAR(80),
TblData VARCHAR(80),
TblIndex_Size VARCHAR(80),
TblUnused VARCHAR(80)
)
DECLARE @tablename VARCHAR(80)
DECLARE TblName_cursor CURSOR
FOR
SELECT NAME
FROM sysobjects
WHERE xType = 'U'
OPEN TblName_cursor
FETCH NEXT FROM TblName_cursor
INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #tblSize
(
Tblname,
TblRows,
TblReserved,
TblData,
TblIndex_Size,
TblUnused
)
EXEC Sp_SpaceUsed @tablename
FETCH NEXT FROM TblName_cursor
INTO @tablename
END
CLOSE TblName_cursor
DEALLOCATE TblName_cursor
SELECT CAST(Tblname AS VARCHAR(30)) 'Table',
CAST(TblRows AS VARCHAR(14)) 'Row Count',
CAST(LEFT(TblReserved, CHARINDEX(' KB', TblReserved)) AS INT) 'Total Space (KB)',
CAST(TblData AS VARCHAR(14)) 'Data Space',
CAST(TblIndex_Size AS VARCHAR(14)) 'Index Space',
CAST(TblUnused AS VARCHAR(14)) 'Unused Space'
FROM #tblSize
ORDER BY 'Total Space (KB)' DESC
DROP TABLE #TblSize
SET NOCOUNT OFF
실행 결과
예시 USE [master] 검색 결과
'DataBase > MS-SQL' 카테고리의 다른 글
[MS-SQL] 중복 테이블 삭제 후에 다시 테이블 생성(CREATE)하기 (0) | 2023.01.02 |
---|---|
[MS-SQL] 다중 레코드 INSERT 하기 (0) | 2022.12.24 |
[MS-SQL] DB 로그삭제(파일축소) - Version 4 일괄적용 (0) | 2022.12.23 |
[MS-SQL] DB 로그삭제(파일축소) - Version 3 단일적용(간단2) (0) | 2022.12.22 |
[MS-SQL] 특정 컬럼(Column)의 정보를 이용하여 테이블 검색 (0) | 2022.12.14 |
[MS-SQL] DB 로그삭제(파일축소) - Version 2 단일적용(간단1) (0) | 2022.12.10 |
[MS-SQL] 문자열의 자음(초성) 추출 함수 만들기 (2) | 2022.03.21 |
[MS-SQL] 임시 테이블을 생성하고 활용하자 (0) | 2018.01.03 |
댓글