Windows/윈도우 공통

DB 사용량 조회

99iberty 2014. 1. 20. 17:24

 

USE master;
GO
EXEC sp_databases;

 

 

 

테이블명없이 사용하시면 전체 데이터베이스의 할당용량이 나옵니다.
use [데이터베이스명]
exec sp_spaceused

특정 테이블명을 매개변수로 넘기면 해당 테이블의 할당용량이 나옵니다.
use [데이터베이스명]
exec sp_spaceused [테이블명]

 

 

 

sp_helpfile

go

sp_helpdb

 

 

 

 

 

http://zephome.tistory.com/29

(sp_spaceused 자세한 내용)

 

 

sp_spaceused

행의 수, 예약된 디스크 공간 및 현재 데이터베이스의 테이블이 사용하는 디스크 공간을 표시하거나 전체 데이터베이스가 예약하였거나 사용하는 디스크 공간을 표시합니다.

구문

sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']

인수

[@objname =] 'objname'

(예약되었거나 할당된) 공간 사용 정보가 필요한 테이블의 이름입니다. objnamenvarchar(776)이며 기본값은 NULL입니다.

[@updateusage =] 'updateusage'

DBCC UPDATEUSAGE가 데이터베이스(objname이 지정되지 않은 경우) 내에서 실행되어야 하는지 또는 특정 개체(objname이 지정된 경우) 내에서 실행되어야 하는지 표시합니다. 값은 true 또는 false가 될 수 있습니다. updateusagevarchar(5)이며 기본값은 FALSE입니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

objname이 생략된 경우에는 두 개의 결과 집합이 반환됩니다.

열 이름 데이터 형식 설명
database_name varchar(18) 현재 데이터베이스의 이름입니다.
database_size varchar(18) 현재 데이터베이스의 크기입니다.
unallocated space varchar(18) 데이터베이스에 대해 할당되지 않은 공간입니다.

이름 데이터 형식 설명
reserved varchar(18) 예약된 총 공간입니다.
Date varchar(18) 데이터가 사용하는 총 공간입니다.
index_size varchar(18) 인덱스가 사용하는 공간입니다.
Unused varchar(18) 사용되지 않은 공간입니다.

매개 변수를 지정한 경우의 결과 집합은 다음과 같습니다.

열 이름 데이터 형식 설명
Name nvarchar(20) 공간 사용 정보가 필요한 테이블의 이름입니다.
Rows char(11) objname 테이블에 있는 행의 수입니다.
reserved varchar(18) objname에 대해 예약된 총 공간입니다.
Date varchar(18) objname의 데이터가 사용하는 공간입니다.
index_size varchar(18) objname의 인덱스가 사용하는 공간입니다.
Unused varchar(18) objname 내의 사용되지 않은 공간입니다.

비고

sp_spaceused는 데이터 및 인덱스에 필요한 디스크 공간 및 현재 데이터베이스의 테이블에 필요한 디스크 공간을 계산합니다. objname을 지정하지 않은 경우, sp_spaceused가 현재 데이터베이스 전체에 필요한 공간에 관해 보고합니다.

updateusage를 지정한 경우, Microsoft® SQL Server™은 데이터베이스에서 데이터 페이지를 스캔하고 각 테이블에 필요한 저장소 공간에 관해 sysindexes 테이블에서 필요한 사항을 수정합니다. 수정해야 할 몇 가지 경우가 있는 데 예를 들어 다음과 같습니다. 인덱스를 삭제한 다음 테이블에 대한 sysindexes 정보가 현재 것이 아닌 경우 등입니다. 큰 테이블 또는 데이터베이스에 관해 이 프로시저를 실행하는 경우에는 다소 시간이 걸립니다. 잘못된 값이 반환되었다는 의심이 들 때나 이 프로세스가 다른 사용자 또는 데이터베이스의 다른 프로세스에 역효과를 주지 않는 경우에만 사용하십시오. 원하는 경우에는 DBCC UPDATEUSAGE를 별도로 실행할 수 있습니다.

사용 권한

public 역할에 대한 기본 권한을 실행합니다.

예제
A. 테이블에 관한 공간 정보

다음은 titles 테이블에 대해 할당된(예약된) 공간, 데이터에 필요한 공간, 인덱스에 필요한 공간 및 데이터베이스 개체에 의해 예약된 사용되지 않은 공간 등에 관해 보고하는 예제입니다.

USE pubs EXEC sp_spaceused 'titles' 
B. 완전한 데이터베이스에 관한 업데이트된 공간 정보

다음은 현재 데이터베이스에서 사용되는 공간을 요약하고 선택적 매개 변수인 @updateusage를 사용하는 것을 보여 주는 예제입니다.

USE pubs sp_spaceused @updateusage = 'TRUE' 
사용 권한

public 역할에 대한 기본 권한을 실행합니다.

select * from sysobjects where type='u' (테이블만 select)
sp_spaceused '해당테이블'

 

 

 

sp_dbusage

가 짱짱맨이다