查看 SQL Server 2000 中数据表所占用的磁盘空间

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 同样的命题在SQL Server 2005中,微软发布了一个报表,可以直接查看,但是这个报表不能用于SQL Server 2000。 于是我就写了下面这几句话,可以返回同样的结果。 create table tmp (name varchar(50),rows int,reserved varc...

同样的命题在SQL Server 2005中,微软发布了一个报表,可以直接查看,但是这个报表不能用于SQL Server 2000。
于是我就写了下面这几句话,可以返回同样的结果。
create table tmp (name varchar(50),rows int,reserved varchar(50),
  data varchar(50),index_size varchar(50),unused varchar(50))
insert into tmp (name,rows,reserved,
  data,index_size,unused) exec sp_msforeachTable @Command1="sp_spaceused '?'"--sp_spaceused 't_vehicle'
select * from tmp order by data desc
drop table tmp
--看单个表, 占用数据的情况
sp_spaceused 'retail11'
--查看整个数据库所有表占用空间的情况 但发现从sysindexes中取表, 会少一部分数据表(无主键,无索引的表)
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
--查看整个数据库所有表占用空间的情况 但看起来比较麻烦
exec sp_MSforeachtable "exec sp_spaceused '?'"

来源:http://www.cnitblog.com/yhf119/archive/2007/10/30/35606.html

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
SQL Go
快速查看SQL Server 中各表的数据量以及占用空间大小
快速查看SQL Server 中各表的数据量以及占用空间大小。 CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,U...
1687 0
|
SQL 数据库 关系型数据库
SQL Server磁盘空间清理
SQL Server数据文件和日志文件回收,空间不紧张的话,不建议回收数据空间。
8010 0
SQL Server磁盘空间清理
|
SQL 存储 缓存
浅谈SQL Server 对于内存的管理
简介     理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。   二级存储(secondary storage)     对于计算机来说,存储体系是分层级的。
890 0
下一篇
无影云桌面