查詢表的大小

chludlf 2004-04-30 03:41:36
加精
我的数据库有两千多个表,我想跑一支报表,查出每个表所用的空间大小,请兄弟们帮忙写一支存储
...全文
751 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jackjingsg 2004-06-23
不错,学习
  • 打赏
  • 举报
回复
chludlf 2004-04-30
謝謝各位
  • 打赏
  • 举报
回复
internetcsdn 2004-04-30
MY GOD


STUDY
  • 打赏
  • 举报
回复
zjcxc 2004-04-30
多上网看看.
  • 打赏
  • 举报
回复
szztao 2004-04-30
非常感谢!
再问一下,在哪里可以找到类似的资料?学习一下!
  • 打赏
  • 举报
回复
zjcxc 2004-04-30
这个是SQL没有公开的存储过程

sp_MSforeachtable
这个系统存储过程有7个参数:
@command1 nvarchar(2000), --第一条运行的T-SQL指令
@replacechar nchar(1) = N'?', --指定的占位符号
@command2 nvarchar(2000) = null, --第二条运行的T-SQL指令
@command3 nvarchar(2000) = null, --第三条运行的T-SQL指令
@whereand nvarchar(2000) = null, --可选条件来选择表
@precommand nvarchar(2000) = null, --在表前执行的指令
@postcommand nvarchar(2000) = null --在表后执行的指令
  • 打赏
  • 举报
回复
szztao 2004-04-30
请问zjcxc(邹建):
sp_MSForEachTable 这个命令是那里的?怎么SQL的帮助中找不到?
  • 打赏
  • 举报
回复
zjcxc 2004-04-30
--得到数据库中所有表的空间/记录情况

create table #tb(表名 sysname,记录数 int
,保留空间 varchar(10),使用空间 varchar(10)
,索引使用空间 varchar(10),未用空间 varchar(10))

insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''

select * from #tb

go
drop table #tb
  • 打赏
  • 举报
回复
txlicenhe 2004-04-30

create table #tmp (tbName varchar(20),tbRows int,tbReserved varchar(20),
tbData varchar(20),tbIndexSize varchar(20),tbUnUsed varchar(20))
insert #tmp exec sp_MSForEachTable ' exec sp_spaceused ''?'''

select * from #tmp

  • 打赏
  • 举报
回复
txlicenhe 2004-04-30
exec sp_MSForEachTable ' exec sp_spaceused ''?'''
  • 打赏
  • 举报
回复
发帖
应用实例

2.7w+

社区成员

MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
帖子事件
创建了帖子
2004-04-30 03:41
社区公告
暂无公告