在管理、维护数据库时,经常需要查看数据库文件、日志文件所占用的磁盘空间,以及磁盘还剩下的磁盘空间,你可以通过下面几种方面
查看数据库文件详细情况:
1: 是通过远程连接(或VPN)连接到数据库服务器,直接去查看。
2: 你连接到数据库后,可以通过mssms管理器,选择要查看的数据库,单击右键选择属性。然后选择文件选项,如下图所示。

3: 通过SQL命令、脚本查看。

3.1: sys.database_files 视图中保存着数据库文件(数据文件、日志文件)等的详细信息

 SELECT * FROM sys.database_files

--通过下面命令,查看系统各磁盘可使用空间。

EXEC master..xp_fixeddrives

当然你也可以用下面脚本只查看数据文件,日志文件大小。

代码


SELECT  SUM(SIZE) * 8.0 / 1024   AS [FileSize(MB)] ,        
        CASE type
          WHEN 0 THEN 'DataBaseFileSize'
          WHEN 1 THEN 'DataBaseLogSzie'
        END AS Type
FROM    sys.database_files
GROUP BY type

不过在删除或重新生成大型索引时,或者在删除或截断大型表时,数据引擎将延迟实际页释放以及关联锁,直至事物提交完毕为止。延迟的删除操作不会立即释放已分配的空间。因此,在删除或截断大型对象后,立即查询sys.database_files得到的数据可能没有反应实际可以用的磁盘空间。(具体可以看看MSDN)。

3.2  使用系统存储过程SP_HELPDB

EXEC SP_HELPDB 'MyAssistant' 

3.3 系统存储过程SP_SPACEUSED:

SP_SPACEUSED它显示行数、保留的磁盘空间以及当前数据库中的表、索引视图或 SQL Server 2005 Service Broker队列所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间

EXEC SP_SPACEUSED

有时候你是不是想看看数据库里面的表、索引使用的磁盘空间情况,那么也有下面几种方法供你参考。

1:选择你要查看的表单击右键,选择属性,你就可以看到表、索引空间使用情况。

2:还是使用系统存储过程SP_SPACEUSED

EXEC SP_SPACEUSED 'bto_back_user'

3:通过系统视图sysindexes来计算表以及它的索引所占的磁盘空间等情况,下表是它包含的字段详细说明

列名 数据类型 说明

name

sysname

列名或过程参数的名称。

id

int

此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。

xtype

tinyint

sys.types 中的物理存储类型。

typestat

tinyint

仅限内部使用。

xusertype

smallint

扩展的用户定义数据类型的 ID。如果数据类型数超过 32767,则会发生溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。

length

smallint

sys.types 中的最大物理存储长度。

xprec

tinyint

仅限内部使用。

xscale

tinyint

仅限内部使用。

colid

smallint

列 ID 或参数 ID。

xoffset

smallint

仅限内部使用。

bitpos

tinyint

仅限内部使用。

reserved

tinyint

仅限内部使用。

colstat

smallint

仅限内部使用。

cdefault

int

此列的默认值的 ID。

domain

int

此列的规则或 CHECK 约束的 ID。

number

smallint

过程分组时的子过程号。

0 = 非过程项

colorder

smallint

仅限内部使用。

autoval

varbinary(8000)

仅限内部使用。

offset

smallint

此列所在行的偏移量。

collationid

int

列的排序规则的 ID。对于非字符列,此值为 NULL。

status

tinyint

用于说明列或参数的属性的位图:

0x08 = 列允许空值。

0x10 = 添加 varchar 或 varbinary 列时,执行 ANSI 填充。保留 varchar 列的尾随空格以及 varbinary 列的尾随零。

0x40 = 参数为 OUTPUT 参数。

0x80 = 列为标识列。

type

tinyint

sys.types 中的物理存储类型。

usertype

smallint

sys.types 中的用户定义数据类型的 ID。如果数据类型数超过 32767,则会发生溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。

printfmt

varchar(255)

仅限内部使用。

prec

smallint

此列的精度级别。

-1 = xml 或大值类型。

scale

int

此列的小数位数。

NULL = 数据类型不是数值。

iscomputed

int

指示列是否为计算列的标志:

0 = 非计算列。

1 = 计算列。

isoutparam

int

指示过程参数是否为输出参数:

1 = True

0 = False

isnullable

int

指示列是否允许空值:

1 = True

0 = False

collation

sysname

列的排序规则的名称。如果不是基于字符的列,则为 NULL。

代码

SELECT  OBJECT_NAME(id) AS TableName ,
        rowcnt  AS ROWS,
        reserved * 8.0 AS Reserved ,
        dpages * 8.0 AS USED ,
        (used - dpages)* 8.0  AS index_size,
        ( reserved - used ) * 8.0 AS Unused 
FROM    sysindexes
WHERE   indid = 1
        AND OBJECT_NAME(id) = 'users'
ORDER BY reserved DESC

EXEC SP_SPACEUSED 'users'

对比看看两者下图的执行结果吧

转载于:https://www.cnblogs.com/kerrycode/archive/2010/09/13/1824481.html

查看数据库、表、索引的物理存储情况相关推荐

  1. postgresql 查看数据库,表,索引,表空间以及大小

    为什么80%的码农都做不了架构师?>>>    postgresql 查看数据库,表,索引,表空间以及大小 1.查看数据库 #psql -U postgres //\加上字母l,相当 ...

  2. postgresql查询mysql库_postgresql 查看数据库,表,索引,表空间以及大小

    客户要求用pgsql,所在服务器装了一下pgsql,我出了一个pgsql的分类,看这篇文章前,把这个分类下的文章都可以看一下,这是我熟悉pgsql的一套流程.以前搞过一次pgsql,很早了. 1,查看 ...

  3. PostgreSQL 查看数据库,索引,表,表空间大小

    转载来源 :PostgreSQL 查看数据库,索引,表,表空间大小 : https://www.cnblogs.com/mchina/archive/2013/04/19/3028573.html 一 ...

  4. linux查看mysql表空间使用率_Oracle查看数据库表空间使用情况sql语句

    Oracle查看数据库表空间使用情况sql语句 SELECT UPPER(F.TABLESPACE_NAME)        "表空间名", D.TOT_GROOTTE_MB    ...

  5. gbase 8s oracle,GBase8s 查看数据库表空间信息

    onstat -d 查看数据库表空间信息 onstat -d命令用于检查数据库空间的使用情况 [gbasedbt@node13 ~]$ onstat -d Your evaluation licens ...

  6. mysql 表大小_MySQL查看数据库表容量大小的方法示例

    本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...

  7. mysql查看数据库表大小语句_MySQL查看数据库表容量大小的命令语句讲解

    MySQL查看数据库表容量大小的命令语句讲解 发布时间:2020-04-27 14:17:23 来源:亿速云 阅读:180 作者:三月 本文主要给大家介绍MySQL查看数据库表容量大小的命令语句讲解, ...

  8. MySQL查看数据库表容量大小

    本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...

  9. Navicat premium查看数据库表中文注释的两种方式

    有时候我需要查看数据库表中文注释,来确定每个表存的是哪个模块的数据,确保测试时对数据库查询操作无误. 这个操作我忘记了,此处做一个记录 方式一:通过sql语句来,前提是你知道是哪个表,这种方式不容易改 ...

最新文章

  1. java虚拟机内存比例,【Java虚拟机】堆内存分配策略总结
  2. 【LeetCode从零单排】No.7 Reverse Integer
  3. 使用netty实现一个类似于微信的聊天功能
  4. 加州圣地亚哥电子和计算机工程研究生申请入口
  5. python调用api接口获取数据_python批量爬取NCBI基因注释并调用谷歌API批量翻译
  6. C#入门详解(14)
  7. 3分钟看完 Day2 Keynote
  8. Jackson第一篇【JSON字符串、实体之间的相互转换】
  9. 统计一个字符在另一个字符串中出现的次数
  10. spider_使用随机User-Agent库, 爬取笔趣阁万古天帝章节目录_(fake_useragent)
  11. 毕业设计 - 题目: 基于协同过滤的电影推荐系统 - Django 在线电影推荐协同过滤
  12. Spring实战(第4版)阅读笔记(一)
  13. Sentaurus SDE
  14. MySQL 8.0.27 下载、安装与配置 超详细教程(Windows64位)
  15. mq相关的面试突击笔记 大神公众号“石杉的架构笔记
  16. 软件单元黑盒测试,软件测试教学资源单元3 黑盒测试.doc
  17. EasyExcel生成多个exel文件并zip压缩
  18. html代码圣诞贺卡图片,自制圣诞贺卡图片大全
  19. Java中的可变类型与不可变类型
  20. php interface 抽象类,解析PHP中的抽象类(abstract class)和 接口(interface)

热门文章

  1. 一个故事讲清楚 NIO
  2. 写给老宅程序员的一些建议
  3. MySQL 优化原理(二)
  4. 《深入理解 Java 内存模型》读书笔记(上)(干货,万字长文)
  5. 史上最全Java多线程面试题及答案
  6. java filereader blob_二进制学习——Blob,ArrayBuffer、File、FileReader和FormData的区别
  7. 未定义标识符 stringc/c++(20)_20款丰田酷路泽5700绝版现车最后促销
  8. 英语作文 计算机新技术对生活的影响,急求一篇电脑对于未来生活影响的英语作文,50分 200词左右...
  9. 网络技术工程师专业核心 | 网络技术工程师就业方向
  10. 美国一大型数据中心将24h由光伏+储能供电