zoukankan      html  css  js  c++  java
  • 查看Sql Server所有表占用的空间大小

    2010-01-26

    sp_spaceused可以查看某个表占用的空间,但不能一次查看所有的表。今天研究了一下这个sp,写了下面这个查询:

    --刷新系统数据
    dbcc updateusage(0) with no_infomsgs

    --每页8k
    select name = name,id,
    rows = convert(char(11), rows),
    reserved = ltrim(str(reservedpages * 8.,15,0) + ' KB'),
    data = ltrim(str(pages * 8.,15,0) + ' KB'),
    index_size = ltrim(str((usedpages - pages) * 8.,15,0) + ' KB'),
    unused = ltrim(str((reservedpages - usedpages) * 8.,15,0) + ' KB')
    FROM
    (select name,id,
    reservedpages = sum(a.total_pages),
    usedpages = sum(a.used_pages),
    pages = sum(
        CASE
         When a.type <> 1 Then a.used_pages
         When p.index_id < 2 Then a.data_pages
         Else 0
        END
       ),
    rows = sum(
        CASE
         When (p.index_id < 2) and (a.type = 1) Then p.rows
         Else 0
        END
       )
    from sys.partitions p, sys.allocation_units a,sysobjects o
    where p.partition_id = a.container_id and p.object_id = o.id
    group by name,id
    ) a
    order by reservedpages desc

  • 相关阅读:
    常用源代码管理工具与开发工具
    项目发布
    学期总结
    个人博客
    个人博客
    阅读笔记6
    阅读笔记5
    阅读笔记4
    团队代码
    团队代码
  • 原文地址:https://www.cnblogs.com/hz-blog/p/4897746.html
Copyright © 2011-2022 走看看