Database/MS-SQL

[스크랩] SP_SPACEUSED

99iberty 2017. 4. 27. 17:58


https://technet.microsoft.com/ko-kr/library/ms188776(v=sql.110).aspx


주의


database_size는 로그 파일의 크기를 포함하기 때문에 reserved + unallocated space의 합계보다 항상 큽니다. reservedunallocated_space는 데이터 페이지만 고려하기 때문입니다.

XML 인덱스 및 전체 텍스트 인덱스에서 사용하는 페이지는 두 결과 집합 모두에 대해 index_size에 포함됩니다. objname이 지정된 경우 개체의 XML 인덱스 및 전체 텍스트 인덱스에서 사용하는 페이지도 전체 reservedindex_size 결과로 계산됩니다.

공간 인덱스가 있는 데이터베이스 또는 개체의 공간 사용량을 계산하는 경우 database_size, reservedindex_size와 같은 공간 크기 열에는 공간 인덱스의 크기도 포함됩니다.

updateusage가 지정된 경우 SQL Server 데이터베이스 엔진은 데이터베이스에서 데이터 페이지를 검색하고 sys.allocation_unitssys.partitions 카탈로그 뷰를 각 테이블에서 사용하는 저장 공간에 맞게 수정합니다. 인덱스가 삭제된 후처럼 테이블에 대한 공간 정보가 최신 상태가 아닌 경우도 있습니다. updateusage를 큰 테이블 또는 데이터베이스에 대해 실행하는 경우에는 시간이 걸릴 수 있습니다. 잘못된 값이 반환되었다고 생각되거나 이 프로세스가 데이터베이스의 다른 사용자 또는 프로세스에 역효과를 주지 않는 경우에만 updateusage를 사용하십시오. 원하는 경우에는 DBCC UPDATEUSAGE를 별도로 실행할 수 있습니다.

참고 참고

대형 인덱스를 삭제하거나 다시 작성할 때 또는 대형 테이블을 삭제하거나 자를 때 데이터베이스 엔진은 트랜잭션이 커밋될 때까지 실제 페이지 할당 취소 및 관련 잠금을 연기합니다. 삭제 작업이 지연되어도 할당된 공간이 즉시 해제되지는 않습니다. 따라서 큰 개체를 삭제하거나 자른 직후에 sp_spaceused에서 반환하는 값에는 사용 가능한 실제 디스크 공간이 반영되지 않을 수도 있습니다.