티스토리 뷰

WEB TIP/MS-SQL

DB 용량 체크

제프 2006. 4. 6. 11:39

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_namevarchar(18)현재 데이터베이스의 이름입니다.
database_sizevarchar(18)현재 데이터베이스의 크기입니다.
unallocated spacevarchar(18)데이터베이스에 대해 할당되지 않은 공간입니다.

이름데이터 형식설명
reservedvarchar(18)예약된 총 공간입니다.
Datevarchar(18)데이터가 사용하는 총 공간입니다.
index_sizevarchar(18)인덱스가 사용하는 공간입니다.
Unusedvarchar(18)사용되지 않은 공간입니다.

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

열 이름데이터 형식설명
Namenvarchar(20)공간 사용 정보가 필요한 테이블의 이름입니다.
Rowschar(11)objname 테이블에 있는 행의 수입니다.
reservedvarchar(18)objname에 대해 예약된 총 공간입니다.
Datevarchar(18)objname의 데이터가 사용하는 공간입니다.
index_sizevarchar(18)objname의 인덱스가 사용하는 공간입니다.
Unusedvarchar(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 '해당테이블'

'WEB TIP > MS-SQL' 카테고리의 다른 글

요일별 집계  (0) 2007.04.30
날짜 변경  (0) 2007.04.05
특정 인덱스 타기  (0) 2006.04.19
Identity초기화  (0) 2006.04.05
유형별 카운트  (0) 2006.04.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함