sp_spaceused
행의 수, 예약된 디스크 공간 및 현재 데이터베이스의 테이블이 사용하는 디스크 공간을 표시하거나 전체 데이터베이스가 예약하였거나 사용하는 디스크 공간을 표시합니다.
구문
sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']
인수
[@objname =] 'objname'
(예약되었거나 할당된) 공간 사용 정보가 필요한 테이블의 이름입니다. objname은 nvarchar(776)이며 기본값은 NULL입니다.
[@updateusage =] 'updateusage'
DBCC UPDATEUSAGE가 데이터베이스(objname이 지정되지 않은 경우) 내에서 실행되어야 하는지 또는 특정 개체(objname이 지정된 경우) 내에서 실행되어야 하는지 표시합니다. 값은 true 또는 false가 될 수 있습니다. updateusage는 varchar(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 '해당테이블'