码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-01-29 11:56:20      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

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

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

DECLARE
    @TABLENM SYSNAME,
    @CNT INT,
    @TOPN INT
DECLARE TABLE_SPACE CURSOR FAST_FORWARD
    FOR 
         SELECT
         NAME
         FROM SYSOBJECTS
         WHERE XTYPE = U
SELECT @CNT = 0, @TOPN = 0
CREATE TABLE #TMPUSAGE
     (
         NAME SYSNAME,
         ROWS INT,
         RESERVED VARCHAR(20),
         DATA VARCHAR(20),
         INDEX_SIZE VARCHAR(20),
         UNUSED VARCHAR(20)
     )
OPEN TABLE_SPACE
FETCH NEXT FROM TABLE_SPACE INTO @TABLENM
WHILE @@FETCH_STATUS = 0 AND @CNT <= @TOPN
BEGIN
    INSERT INTO #TMPUSAGE 
    EXEC SP_SPACEUSED @TABLENM, TRUE
 IF
    @TOPN <> 0
    SELECT @CNT = @CNT +1
    FETCH NEXT FROM TABLE_SPACE INTO @TABLENM
 END
CLOSE TABLE_SPACE
DEALLOCATE TABLE_SPACE
SELECT 
     *
FROM 
    #TMPUSAGE 
ORDER BY 
    CONVERT(INT,LEFT(RESERVED, LEN(RESERVED)- 3)) DESC

IF (SELECT OBJECT_ID(TEMPDB..#TMPUSAGE) ) IS NOT NULL
DROP TABLE #TMPUSAGE

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

标签:

原文地址:http://www.cnblogs.com/webwang/p/4259122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!