메뉴 건너뛰기

조회 수 35 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

데이터 베이스를 사용하다 보면 서버 용량이 부족해지는 경우가 생깁니다.

어느 테이블이 디스트 용량을 많이 사용하고 있는지 확인을 해서 방법을 찾아야 하는 경우가 있습니다.

이번 포스팅에서는 SqlServer에서 모든 테이블의 사용 용량을 확인하는 쿼리를 알아보도록 하겠습니다.

 

  테이블 사이즈 취득 방법

테이블이 사용하고 있는 디스크 사용용량을 간단히 취득하는 방법으로 sp_spaceused 사용해 확인할 수 있습니다.

sp_spaceused는 스토어드 프로시저입니다.

 

사용방법

EXEC sp_spaceused 디비명.테이블명;

 

예를 들어 디비명이 master이고 테이블명이 test라고 하겠습니다.

test 테이블이 사용하고 있는 용량을 확인하고 싶은 경우

EXEC sp_spaceused 'master.test';

 

컬럼 설명

rows: 데이터 레코드수

reserved: 테이블 할당 용량

data: 사용중인 용량

index_size: 인덱스로 사용중인 용량

unused: 남은 용량

 

sp_spaceused 프로시저를 실행할 때에 파라미터를 지정하지 않으면 데이터 베이스의 총사이즈를 확인할 수 있습니다.

EXEC sp_spaceused;

 

EXEC sp_spaceused;

 

컬럼 설명

database_size 데이터 베이스 총 용량

※데이터 파일과 로그 파일 합계 사이즈

 

  데이터 베이스 모든 테이블 용량 확인

sp_spaceused 프로시저를 사용하여 데이터 베이스의 모든 테이블의 사용 용량을 취득하는 쿼리를 만들어 확인해보겠습니다.

CREATE TABLE #DiskUpsageByTables (
	name NVARCHAR(128),
	rows CHAR(11),
	reserved VARCHAR(18),
	data VARCHAR(18),
	index_size VARCHAR(18),
	unused VARCHAR(18)
);

INSERT INTO #DiskUpsageByTables
EXEC sp_MSforeachtable 'sp_spaceused ''?''';

SELECT *
FROM #DiskUpsageByTables
ORDER BY CAST(REPLACE(reserved, ' KB', '') AS INT) DESC;

DROP TABLE #DiskUpsageByTables;

 

CREATE 문으로 #DiskUpsageByTables라는 임시 테이블을 생성했습니다.

sp_MSforeachtable 프로시저를 사용하여 모든 테이블을 취득하고 있습니다.

사용량이 가장 많은 테이블 순서로 정렬하도록 ORDER BY를 사용하고 있습니다.

DROP TABLE로 처음에 작성한 임시 테이블을 삭제합니다.


List of Articles
번호 제목 날짜 조회 수
30 MSSQL EXISTS로 서브 쿼리 작성 방법 예제 file 2022.02.16 20
29 MSSQL IN 다중조건 사용 방법 2022.02.16 182
28 MSSQL 테이블 작성 인덱스 생성 하기 file 2022.02.16 53
27 MSSQL CLUSTERED INDEX와 NONCLUSTERED INDEX 차이점 2022.02.16 16
26 MSSQL Primary Key 컬럼 속성 변경 안될때 해결 방법 file 2022.02.16 23
25 MSSQL 컬럼 추가, 변경, 삭제 ALTER 사용 방법 예제 file 2022.02.16 19
24 MSSQL 컬럼 중간에 추가하는 방법 file 2022.02.16 186
23 MSSQL RANK와 DENSE_RANK 랭크 함수 차이 예제 file 2022.02.16 14
22 MSSQL ROW_NUMBER로 성적 순위 설정 방법 예제 file 2022.02.16 9
21 MSSQL 성적 순위 설정 RANK 사용 방법 예제 file 2022.02.14 15
20 MSSQL 간단한 만나이 계산하기 DATEDIFF 사용 예제 file 2022.02.14 266
19 MSSQL 현재 시간 취득하는 여러 가지 방법 file 2022.02.14 14
18 MSSQL NULL값 변환 (NVL, ISNULL, CASE) 사용 방법 예 file 2022.02.14 134
17 MSSQL 공백값과 NULL값 동시에 체크 하는 방법 file 2022.02.14 1000
16 MSSQL 앞에 숫자0 채우기 FORMAT 사용 2022.02.14 86
15 MSSQL 숫자 3자리 콤마 넣기 또는 삭제하기 2022.02.14 56
14 MSSQL MERGE사용 안하고 있으면 UPDATE 없으면 INSERT 하기 2022.02.14 78
13 MSSQL MERGE 테이블에 있으면 업데이트 없으면 추가 하기 2022.02.14 10
12 MSSQL 문자열에서 숫자 또는 문자만 추출하기 REPLACE, PATINDEX 2022.02.14 671
» MSSQL 모든 테이블 사용하고 있는 용량 확인 방법 2022.02.14 35
Board Pagination Prev 1 2 Next
/ 2

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved