设为首页 收藏本站
查看: 2060|回复: 0

[经验分享] 查看 SQL Server 2000 数据表的大小

[复制链接]

尚未签到

发表于 2018-10-18 06:32:15 | 显示全部楼层 |阅读模式
SQL Server查看所有表大小、表行数和占用空间信息
  一、查看表名和对应的数据行数
  select  a.name as '表名',b.rows as '表数据行数'
  from sysobjects a inner join sysindexes b
  on a.id = b.id
  where   a.type = 'u'
  and b.indid in (0,1)
  --and a.name not like 't%'
  order by b.rows desc
  二、查看表名和表占用空间信息
  --判断临时表是否存在,存在则删除重建

  if exists(select 1 from tempdb..sysobjects where>  drop table #tabName
  go
  create table #tabName(
  tabname varchar(100),
  rowsNum varchar(100),
  reserved varchar(100),
  data varchar(100),
  index_size varchar(100),
  unused_size varchar(100)
  )
  declare @name varchar(100)
  declare cur cursor for
  select name from sysobjects where xtype='u' order by name
  open cur
  fetch next from cur into @name
  while @@fetch_status=0
  begin
  insert into #tabName
  exec sp_spaceused @name
  --print @name
  fetch next from cur into @name
  end
  close cur
  deallocate cur
  select tabname as '表名',rowsNum as '表数据行数',reserved as '保留大小',data as '数据大小',index_size as '索引大小',unused_size as '未使用大小'
  from #tabName
  --where tabName not like 't%'
  order by cast(rowsNum as int) desc
  --系统存储过程说明:
  --sp_spaceused 该存储过程在系统数据库master下。
  exec sp_spaceused '表名' --该表占用空间信息
  exec sp_spaceused           --当前数据库占用空间信息
  以下的文章主要是教会你如何正确查看 SQL Server 2000 数据表的大小,下面这几条相关的语句,可以返回每个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 '表名'
  查看整个数据库所有表占用空间的情况 但发现从sysindexes中取表, 会少一部分SQL Server 2000 数据表(无主键,无索引的表)
  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 '?'"
  drop table #Data
  drop table #DataNew
  create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100))
  declare @name varchar(100)
  declare cur cursor  for
  select name from sysobjects where xtype='u' order by name
  open cur
  fetch next from cur into @name
  while @@fetch_status=0
  begin
  insert into #data
  exec sp_spaceused   @name
  print @name
  fetch next from cur into @name
  end
  close cur
  deallocate cur
  create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)
  insert into #dataNew
  select name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data,
  convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #data
  select * from #dataNew order by data desc


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-622922-1-1.html 上篇帖子: My SQL 日志分析工具介绍 下篇帖子: SQL Server 2005 镜像配置(三)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表