查詢表的大小

chludlf 2004-04-30 03:41:36
加精
我的数据库有两千多个表,我想跑一支报表,查出每个表所用的空间大小,请兄弟们帮忙写一支存储
...全文
778 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 ''?'''

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧