zoukankan      html  css  js  c++  java
  • 统计数据库中各个表和空间使用情况

    为了方便大家使用,我写成了一个存储过程,如果喜欢就拿去吧,如果觉得有什么不对的地方,留言哈,我有一空就会修改!

    废话少说,上代码(转载请注明出处,谢谢):

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    --
    Author: longle(http://longle.taobao.com)
    --
    Create date: 2011-06-17
    --
    Description: 统计数据库中各个表和空间使用情况
    --
    =============================================
    ALTER PROCEDURE sp_GetDbSpaceUsedInfo
    AS
    BEGIN
    SET NOCOUNT ON;
    DECLARE @temp VARCHAR(50) --声明表名临时变量

    DECLARE c_rlt CURSOR --声明游标c_rlt
    FOR
    select o.name from sysobjects o,sysindexes i
    where o.id=i.id and o.Xtype='U' and i.indid<2 --获取数据库中的表名
    /*
    声明临时表,要求字段必须和 EXEC sys.sp_spaceused 'tbname'中返回的结果一致
    EXEC sys.sp_spaceused 'tbname' 获取指定表名的空间使用情况
    */
    IF NOT EXISTS(SELECT NAME FROM sys.sysobjects WHERE name='#temptable')
    BEGIN
    create table #temptable(
    [name]
    VARCHAR(50),
    [rows] INT,
    [reserved]
    varchar(50),
    [data]
    VARCHAR(50),
    [size]
    VARCHAR(50),
    [unused]
    varchar(50)
    )
    END

    OPEN c_rlt --打开游标
    FETCH NEXT FROM c_rlt INTO @temp
    WHILE @@FETCH_STATUS=0
    BEGIN
    FETCH NEXT FROM c_rlt INTO @temp --把查询结果放到临时变量@temp中
    INSERT INTO #temptable EXEC sys.sp_spaceused @temp --把查询结果放到临时表#temptable中
    END

    CLOSE c_rlt --别忘记关闭游标
    DEALLOCATE c_rlt --别忘记删除游标

    SELECT * FROM #temptable --从临时表查查询结果
    DROP TABLE #temptable --删除临时表了

    END
    GO
    /*测试用例
     
    exec sp_GetDbSpaceUsedInfo

    */

    结果如下:

    (转载请注明出处,谢谢,有什么问题请留言哈!)

    参考资料:

    -------------------------------------------------------------------------------------------------------------------------------------------------
    数据库优化
    数据库教程
    数据库实战经验分享博客

    百度云下载

    评测


  • 相关阅读:
    XSS 1
    KALI修改密码
    bugku web4
    16进制 32进制 base64之间的区别
    buuctf
    buuctf wireshark
    buuctf 变异凯撒
    2016集训测试赛(二十)Problem A: Y队列
    USACO 4.1.1 麦香牛块 Beef McNuggets
    2016集训测试赛(十八)Problem C: 集串雷 既分数规划学习笔记
  • 原文地址:https://www.cnblogs.com/longle/p/2083512.html
Copyright © 2011-2022 走看看