SQL Server/Administration

DB내 모든 테이블의 SPACE 정보를 확인하는 쿼리

MayStyle 2008. 7. 16. 15:51

아래 쿼리는 임시로 #tblSize 를 만들고 이 table에 각 table의 Rows, Reserved, Data, Index_Size, Unused 를 저장하여 보여줍니다.

DECLARE @objname varchar(750)

CREATE TABLE #tblSize (
       Name nvarchar (128),
       Rows char (11),
       Reserved varchar (18),
       Data varchar (18),
       Index_Size varchar (18),
       Unused varchar (18)
)

DECLARE TabNameCur CURSOR FOR
       SELECT name
       FROM dbo.sysobjects
       WHERE xtype = 'u'
       ORDER BY name

OPEN TabNameCur
FETCH TabNameCur INTO @objname

WHILE @@FETCH_STATUS = 0
BEGIN
       insert #tblSize EXEC sp_spaceused @objname

FETCH NEXT FROM TabNameCur INTO @objname
END

CLOSE TabNameCur
DEALLOCATE TabNameCur

SELECT * FROM #tblSize

[결과]