当前位置:  数据库>linux iis7站长之家

查看SQL Server数据库表、索引视图等占用空间大小的方法

    来源: 互联网  发布时间:2014-08-29

    本文导语:  方法1,调用系统存储过程:   代码示例: EXEC Sp_msforeachtable "EXEC Sp_spaceused '?'" 方法2,   代码示例: IF NOT EXISTS (SELECT *                FROM   dbo.sysobjects                WHERE  id = Object_id(N'[dbo].[tablespaceinfo]')    ...

方法1,调用系统存储过程:
 

代码示例:
EXEC Sp_msforeachtable "EXEC Sp_spaceused '?'"

方法2,
 

代码示例:
IF NOT EXISTS (SELECT *
               FROM   dbo.sysobjects
               WHERE  id = Object_id(N'[dbo].[tablespaceinfo]')
                      AND Objectproperty(id, N'IsUserTable') = 1)
  CREATE TABLE tablespaceinfo --创建结果存储表
    (
       nameinfo   VARCHAR(50),
       rowsinfo   INT,
       reserved   VARCHAR(20),
       datainfo   VARCHAR(20),
       index_size VARCHAR(20),
       unused     VARCHAR(20)
    )
--by www.
DELETE FROM tablespaceinfo --清空数据表
DECLARE @tablename VARCHAR(255) --表名称
DECLARE @cmdsql VARCHAR(500)
DECLARE Info_cursor CURSOR FOR
  SELECT o.name
  FROM   dbo.sysobjects o
  WHERE  Objectproperty(o.id, N'IsTable') = 1
         AND o.name NOT LIKE N'#%%'
  ORDER  BY o.name
 
OPEN Info_cursor
 
FETCH NEXT FROM Info_cursor INTO @tablename
 
WHILE @@FETCH_STATUS = 0
  BEGIN
      IF EXISTS (SELECT *
                 FROM   dbo.sysobjects
                 WHERE  id = Object_id(@tablename)
                        AND Objectproperty(id, N'IsUserTable') = 1)
        EXECUTE Sp_executesql
          N'insert into tablespaceinfo exec sp_spaceused @tbname',
          N'@tbname varchar(255)',
          @tbname = @tablename
 
      FETCH NEXT FROM Info_cursor INTO @tablename
  END
 
CLOSE Info_cursor
 
DEALLOCATE Info_cursor
 
GO
 
--itlearner注:显示数据库信息
Sp_spaceused @updateusage = 'TRUE'
 
--itlearner注:显示表信息
SELECT *
FROM   tablespaceinfo
ORDER  BY Cast(LEFT(Ltrim(Rtrim(reserved)), Len(Ltrim(Rtrim(reserved))) - 2) AS INT) DESC

方法3,
 

代码示例:
--by www.
SELECT Object_name(id)                                 tablename,
       8 * reserved / 1024                             reserved_,
       Rtrim(8 * dpages / 1024) + 'Mb'                 used,
       8 * ( reserved - dpages ) / 1024                unused,
       8 * dpages / 1024 - rows / 1024 * minlen / 1024 free,
       rows,
       *
FROM   sysindexes
WHERE  indid = 1
ORDER  BY reserved_ DESC

除方法1以外,建议大家亲自动手测试下另外二种方法。
这是一个练习编写sql存储过程及使用游标等的好例子,建议大家不要错过。


    
 
 

您可能感兴趣的文章:

  • JSON格式化视图查看工具 HiJson
  • 如何查看表与视图结构?(sql数据库与mysql)
  • 怎么查看SQL SERVER加密存储过程/函数/触发器与视图
  • 如何查看一个目录的占用空间和一个进程的占用内存情况
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • 可执行文件的内存占用空间 = 查看???
  • linux下怎么查看一个端口被哪个程序占用了
  • linux下怎么查看一个目录下所有文件所占用的空间?
  • 如何编程查看 cpu 内存 占用情况
  • 如何查看tcp端口占用的应用
  • Linux下怎样查看一个文件夹占用了多少空间?
  • 请问如何查看端口被占用情况?
  • 请教如何才能查看某个目录占用了多少磁盘空间?
  • 请问 如何查看一个目录下各个子目录所占用的磁盘空间??
  • Redhat 9.0下面查看某个进程占用内存的命令是什么,知道的告诉一下啊。
  • 请问如何查看UNIX系统下的CPU的占用率,以及硬盘的占用情况。
  • linux下如何查看某进程占用内存情况?
  • aix机,iostat查看iowait占用极高,致使进不了系统了,急救!!
  • linux下用什么查看程序占用的内存空间啊?
  • 如何在linux下查看动态链接库如*.so中各函数的CPU占用情况?
  • 我用TOP查看linux的内存占用情况,发现used和buff每隔5秒就增加8Kb,free相应就少8Kb,这是为什么?
  • to;zlj2000(我想飞)兄:我用netstat -a 查看了是Tcp协议占用了7001和7002端口,可是我不知道怎么改动它,有知道的都可回答。马上给分! 
  • 怎么查看linux的哪个进程占用磁盘io较多?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Lucene索引查看工具 Luke
  • mysql 表空间及索引的查看方法
  • oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
  • SQLSERVER如何查看索引缺失及DMV使用介绍
  • redhat/centos 常用信息查看命令整理
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • resin及jetty介绍以及如何 查看他们的版本号
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 请问linux下怎么用命令行的方式查看系统自动运行的程序?(因为我只能通过ssh来查看)
  • Ubuntu查看内存,进程相关命令介绍
  • 求教 关于gdb如何查看lib中的表达式
  • 准备学习docker: docker version命令查看版本
  • 在AIX(4.3)系统上如何查看内存情况
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • linux下查看内核的命令是什么?
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • 怎样查看安装某个软件包的时间


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3