는 방법을 알아야 합니다 많은 디스크 공간 테이블에 사용하여 SQL 서버

StackOverflow https://stackoverflow.com/questions/2714

  •  08-06-2019
  •  | 
  •  

문제

대부분의 사람들이 생각하는 방법을 알고 이를 통한 GUI(오른쪽 클릭하 테이블,성)지만,이렇게 T-SQL 에서 완전히 바위 등이 있습니다.

도움이 되었습니까?

해결책

CREATE TABLE #tmpSizeChar (
     table_name sysname ,
     row_count int,
     reserved_size varchar(50),
     data_size varchar(50),
     index_size varchar(50),
     unused_size varchar(50))                              

CREATE TABLE #tmpSizeInt (
     table_name sysname ,
     row_count int,
     reserved_size_KB int,
     data_size_KB int,
     index_size_KB int,
     unused_size_KB int)   

SET NOCOUNT ON
INSERT      #tmpSizeChar
EXEC      sp_msforeachtable 'sp_spaceused ''?'''     

INSERT INTO #tmpSizeInt (
        table_name,
        row_count,
        reserved_size_KB,
        data_size_KB,
        index_size_KB,
        unused_size_KB
        )
SELECT  [table_name],
        row_count,
        CAST(SUBSTRING(reserved_size, 0, PATINDEX('% %', reserved_size)) AS int)reserved_size,
        CAST(SUBSTRING(data_size, 0, PATINDEX('% %', data_size)) AS int)data_size,
        CAST(SUBSTRING(index_size, 0, PATINDEX('% %', index_size)) AS int)index_size,
        CAST(SUBSTRING(unused_size, 0, PATINDEX('% %', unused_size)) AS int)unused_size
FROM #tmpSizeChar   

/*
DROP TABLE #tmpSizeChar
DROP TABLE #tmpSizeInt
*/

SELECT * FROM #tmpSizeInt
ORDER BY reserved_size_KB DESC

다른 팁

테이블 크기의 기준이 됩

는 테이블의 테이블의 이름을 알고 싶....

체크 아웃이,내가 그것을 알아에서 작동 2005(Microsoft 설명서):

여기에는 펍 DB


select *
from pubs.sys.database_files

크기를 반환하고 max_size.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top