首页 > 代码库 > SQL查看数据库所用用户表数量和使用的空间

SQL查看数据库所用用户表数量和使用的空间

SQL Server数据库管理员通常硬盘空间奋斗,不断努力清理“表”,撰写许多查询,发现该表使用的硬盘空间。

本文介绍了如何查询系统表的空间使用情况,帮助数据库管理员识别正在使用最多的空间,以便存档旧数据和清除非必要的数据表。

1。登录到SQL Server实例的[SQL Server 2005或SQL Server的2008]。

2。浏览到你想获得空间信息数据库。

3。复制并粘贴到您的查询窗口的代码,并执行它。

4。检查的结果,并查看选定的数据库内的表空间

DECLARE    @TABLENM SYSNAME,    @CNT INT,    @TOPN INTDECLARE TABLE_SPACE CURSOR FAST_FORWARD    FOR          SELECT         NAME         FROM SYSOBJECTS         WHERE XTYPE = USELECT @CNT = 0, @TOPN = 0CREATE TABLE #TMPUSAGE     (         NAME SYSNAME,         ROWS INT,         RESERVED VARCHAR(20),         DATA VARCHAR(20),         INDEX_SIZE VARCHAR(20),         UNUSED VARCHAR(20)     )OPEN TABLE_SPACEFETCH NEXT FROM TABLE_SPACE INTO @TABLENMWHILE @@FETCH_STATUS = 0 AND @CNT <= @TOPNBEGIN    INSERT INTO #TMPUSAGE     EXEC SP_SPACEUSED @TABLENM, TRUE IF    @TOPN <> 0    SELECT @CNT = @CNT +1    FETCH NEXT FROM TABLE_SPACE INTO @TABLENM ENDCLOSE TABLE_SPACEDEALLOCATE TABLE_SPACESELECT      *FROM     #TMPUSAGE ORDER BY     CONVERT(INT,LEFT(RESERVED, LEN(RESERVED)- 3)) DESCIF (SELECT OBJECT_ID(TEMPDB..#TMPUSAGE) ) IS NOT NULLDROP TABLE #TMPUSAGE

SQL查看数据库所用用户表数量和使用的空间