查询出来的结果中各字段的详细说明参考MSDN资料:https://msdn.microsoft.com/zh-cn/library/ms188776.aspx

如果只是查询数据库的大小的话,直接使用以下语句即可:

EXEC sp_spaceused

为了保证查询结果的实时性,推荐使用 @updateusage 参数来确保统计数据是最新的:

EXEC sp_spaceused @updateusage = N'TRUE';

执行完毕后结果是两个表,第一个表中包含了基本的统计信息,第二个表示更加详细的数据占用情况。

如果想具体查询某个表的大小,加上表名即可:

如果想要一次性的把数据库中所有的表的大小全部查询出来的话,参考下面的方法:

-- =============================================
-- Description: 更新查询数据库中各表的大小,结果存储到数据表中
-- =============================================
create procedure [dbo].[sp_UpdateTableSpaceInfo] AS
begin
--查询是否存在结果存储表
if not exists (select * from sysobjects where id = object_id(N'temp_tableSpaceInfo') AND objectproperty(id, N'IsUserTable') = 1)
begin
--不存在则创建
create table temp_tableSpaceInfo
(name nvarchar(128),
rows char(11),
reserved varchar(18),
data varchar(18),
index_size varchar(18),
unused varchar(18))
end
--清空数据表
delete from temp_tableSpaceInfo --定义临时变量在遍历时存储表名称
declare @tablename varchar(255) --使用游标读取数据库内所有表表名
declare table_list_cursor cursor for --申明游标
select name from sysobjects
where objectproperty(id, N'IsTable') = 1 and name not like N'#%%' order by name --打开游标
open table_list_cursor
--将提取结果代入游标
fetch next from table_list_cursor into @tablename --遍历查询到的表名
while @@fetch_status = 0 --最近一条FETCH语句的标志
begin
--检查当前表是否为用户表
if exists (select * from sysobjects where id = object_id(@tablename) AND objectproperty(id, N'IsUserTable') = 1)
begin
--当前表则读取其信息插入到表格中
execute sp_executesql N'insert into temp_tableSpaceInfo exec sp_spaceused @tbname', N'@tbname varchar(255)', @tbname = @tablename
end
--读取下一条数据
fetch next from table_list_cursor into @tablename
end --释放游标
close table_list_cursor --解除游标
deallocate table_list_cursor --将游标内容代入最后结果
end GO

用的时候呢,执行一下:

EXEC sp_UpdateTableSpaceInfo
SELECT * FROM temp_tableSpaceInfo

OK,搞定!

sql server查询数据库的大小和各数据表的大小的更多相关文章

  1. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...

  2. SQL Server查询数据库空间分配情况、数据库备份信息

    查询数据库空间分配情况: use master go create procedure dbo.proc_getdbspaceused as begin set nocount on create t ...

  3. sql server 查询数据库所有的表名+字段

    SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT    (case when a.colorder= ...

  4. Sql server 查询数据库中包含某字段的所有的表

    我们有时候会需要查询数据库中包含某字段的所有的表,去进行update,这时就可以用下面的SQL来实现: select object_name(id) objName,Name as colName f ...

  5. Oracle和SQL server查询数据库中表的创建和最后修改时间

    有时候我们需要查看下数据数据库中表的创建时间和最后修改时间,可以通过以下语句实现: Oracle数据库 -- 查看当前用户下的表 SELECT * FROM USER_TABLES -- 查看数据库中 ...

  6. sql server查询数据库连接数

    设置最大连接数 下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目. exec sp_configure 'show advanced options', 1exec s ...

  7. SQL SERVER查询数据库所有的表名/字段

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='subject' --表名 1.利用sysobjects系统表 在这个表中,在数据 ...

  8. SQL Server —— 查询数据库、表、列等

    一.查询数据库(sys.databases —— select *from sys.databases where name='<数据库名>') select *from sys.data ...

  9. SQL SERVER 查询特定的前几条数据

    1. 使用MS SQL Server 2008: 2. 数据库内容如下: insert into xuexi1 values('张三0', '数学', 98 ) insert into xuexi1 ...

随机推荐

  1. 第四节 Linux目录文件及文件基本操作

    一.Linux目录结构 Linux 的目录与 Windows 的目录的区别: 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘 ...

  2. Task 6.4 冲刺Two之站立会议9

    今天主要对昨天用户提出的意见加以改进,虽然有些不能轻易实现但是仍然查阅了很多资料.因为他目前可以实现实时通信的功能,而我们想要在这个基础上实现临时的视频聊天的功能,但是时间有点紧迫,所以还没有实现.

  3. Java中的设计模式之单例模式

    Java中的单例模式 设计模式是软件开发过程中经验的积累 一.单例模式 1.单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控 ...

  4. Scrum 项目 4.0-5.0-约教网站开发(一)

    ----------------------------------4.0----------------------------------------------- 一.项目任务 1.准备看板. ...

  5. 个人作业-week2(代码复审)

    一.代码复审check list 概要部分 代码符合需求和规格说明吗? 符合要求和规格说明,-s指令和-c指令都能实现需求.并且能够处理非法输入. 代码设计是否有周全的考虑? 程序的main函数中对各 ...

  6. pxe前期网络准备

    核心交换机:[H3C12510-HEXIN]vlan 3010 //如果存在则不需要创建[H3C12510-HEXIN]dis interface Bridge-Aggregation brief / ...

  7. jmeter body 中文显示为乱码解决

    这种情况在jmeter3.0的版本中才会产生,注意:这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字的显示.这样的情况可以这样调整:进入jmeter. ...

  8. oracle 取俩个字符串的差集

    思路: --funcation RemoveSameStr(in_str,splitStr) ;用于去除重复值 ; SELECT b.memberid, RemoveSameStr(wm_concat ...

  9. python 安装pymssql

    error: command 'gcc' failed with exit status 1 ---------------------------------------- Command &quo ...

  10. 【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理

    大型网站的HTTPS实践(一)——HTTPS协议和原理 原创 网络通信/物联网 作者:AIOps智能运维 时间:2018-11-09 15:07:39  349  0 前言 百度于2015年上线了全站 ...