zoukankan      html  css  js  c++  java
  • SQL查看数据库所用用户表数量和使用的空间

    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
  • 相关阅读:
    My first blog!
    Elasticsearch安装 + Head插件安装 + Bigdesk插件安装
    泛型-反射-注解
    JFinal自定义FreeMarker标签
    Hadoop集群中节点角色定义
    HBase
    MapReduce
    HDFS
    Hadoop基本概念
    HTTP浅析
  • 原文地址:https://www.cnblogs.com/webwang/p/4259122.html
Copyright © 2011-2022 走看看