设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1170|回复: 0

SQL Server统计数据库中表大小

[复制链接]

10

主题

85

金钱

141

积分

入门用户

发表于 2019-10-25 14:55:02 | 显示全部楼层 |阅读模式

  1. use testdb
  2. go
  3. if object_id('tempdb.dbo.#tablespaceinfo','U') is not null
  4.   drop table #tablespaceinfo
  5. create table #tablespaceinfo (   
  6.     nameinfo varchar(555),   
  7.     rowsinfo bigint,   
  8.     reserved varchar(255),   
  9.     datainfo varchar(255),   
  10.     index_size varchar(255),   
  11.     unused varchar(255)   
  12. )   
  13.   
  14. DECLARE @tablename varchar(255);   
  15.   
  16. DECLARE Info_cursor CURSOR FOR
  17.     SELECT [name] FROM sys.tables WHERE type='U';   
  18.   
  19. OPEN Info_cursor   
  20. FETCH NEXT FROM Info_cursor INTO @tablename   
  21.   
  22. WHILE @@FETCH_STATUS = 0   
  23. BEGIN
  24.     insert into #tablespaceinfo exec sp_spaceused @tablename   
  25.     FETCH NEXT FROM Info_cursor   
  26.     INTO @tablename   
  27. END
  28.   
  29. CLOSE Info_cursor   
  30. DEALLOCATE Info_cursor   
  31.   
  32. if object_id('tempdb.dbo.#tab','U') is not null
  33.   drop table #tab
  34. SELECT
  35. nameinfo
  36. ,rowsinfo
  37. ,cast(replace(reserved,' KB','') as bigint)/1024 "reserved(MB)"
  38. ,cast(replace(datainfo,' KB','') as bigint)/1024 "datainfo(MB)"
  39. ,cast(replace(index_size,' KB','') as bigint)/1024 "index_size(MB)"
  40. ,cast(replace(unused,' KB','') as bigint)/1024 "unused(MB)"
  41. into #tab
  42. FROM #tablespaceinfo   
  43. ORDER BY Cast(Replace(reserved,'KB','') as INT) DESC
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

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