====== 데이타베이스 사용량 확인 ======
===== 데이타베이스 =====
- DATABASE 크기 : database size(MB)
SELECT SUM(CAST(df.size as float))/128 FROM sys.database_files AS df WHERE df.type in ( 0, 2, 4 );
- 로그파일(LDF) 크기 : log size(MB)
SELECT SUM(CAST(df.size as float))/128 FROM sys.database_files AS df WHERE df.type in ( 1,3 );
- 할당된용량 : SpaceUsed(MB)
SELECT sum(total_pages)/128 FROM sys.allocation_units;
===== 테이블 사용량 =====
- 테이블명 할당되어 있는 index space와 table space 사용량을 확인 : size(MB)
--
-- Tables Used
--
declare @PageSize float
select @PageSize=v.low/1024.0 from master.dbo.spt_values v where v.number=1 and v.type='E'
SELECT
tbl.name,
ISNULL
(
(
SELECT @PageSize * SUM
(
a.used_pages - CASE
WHEN a.type <> 1 THEN
a.used_pages
WHEN p.index_id < 2 THEN
a.data_pages
ELSE 0 END
)
FROM sys.indexes as i
JOIN sys.partitions as p
ON p.object_id = i.object_id and p.index_id = i.index_id
JOIN sys.allocation_units as a
ON a.container_id = p.partition_id
WHERE i.object_id = tbl.object_id
)
,0.0
) AS [IndexSpaceUsed],
ISNULL
(
(
SELECT @PageSize * SUM
(
CASE
WHEN a.type <> 1 THEN
a.used_pages
WHEN p.index_id < 2 THEN
a.data_pages
ELSE 0 END
)
FROM sys.indexes as i
JOIN sys.partitions as p
ON p.object_id = i.object_id and p.index_id = i.index_id
JOIN sys.allocation_units as a
ON a.container_id = p.partition_id
WHERE i.object_id = tbl.object_id
)
,0.0
) AS [DataSpaceUsed]
FROM
sys.tables AS tbl
;