开发者社区> 问答> 正文

检查虚拟主机SQL Server 2008数据库各个表占用的空间

已解决

展开
收起
2018-05-23 19:09:31 870 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    在使用虚拟主机时,经常遇到数据库变满的情况。如何查看哪个表占用了最大的数据库空间呢?

    使用主机CP控制台https://cp.aliyun.com 中的数据库DMS控制台检查。

    打开数据库DMS控制台:

    6.JPG

     

    点击SQL 窗口: 输入如下内容:

    create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100))
     
    declare @name varchar(100)
    declare cur cursor  for
        select name from sysobjects where xtype=’u’ order by name
    open cur
    fetch next from cur into @name
    while @@fetch_status=0
    begin
        insert into #data
        exec sp_spaceused   @name
        print @name
     
        fetch next from cur into @name
    end
    close cur
    deallocate cur
     
    create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)
     
    insert into #dataNew
    select name,convert(int,row) as row,convert(int,replace(reserved,’KB’,’’)) as reserved,convert(int,replace(data,’KB’,’’)) as data,
    convert(int,replace(index_size,’KB’,’’)) as index_size,convert(int,replace(unused,’KB’,’’)) as unused from #data 


    如下图:

    点击“执行(F8)"按钮;
    4.jpg


    然后再执行: select * from #dataNew order by data desc 查看结果, 如下图:

    5.jpg

    这样就查出来各个表占用空间的情况。

    2018-05-30 03:32:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载