新足迹

 找回密码
 注册

精华好帖回顾

· 日本樱花季前的关西(大阪,姬路,京都,神户,宇治)7天行 (图巨巨巨巨多)| 4月19日全文更新完毕 (2019-3-25) ylbeethoven · 艰辛求职路,终于找到工作。 --- 历程经验篇 (2006-7-13) yeerfrid
· 夏末 (人像数枚) (2011-2-11) yeu008 · 自助e-tax退税Deduction部分大汇编 (2006-9-21) neo
Advertisement
Advertisement
查看: 1507|回复: 9

SQL Server Enterprise Manager里怎么看table的大小 [复制链接]

特殊贡献奖章

发表于 2010-11-18 12:21 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
菜鸟问题
要从SQL Server里读点东西出来,有800多个table,其中有很多是空的。
在SQL Server Enterprise Manager里找了半天也找不到想要的数据在哪里
在显示table的地方只有Name, Owner, Type, Create Date.

怎样可以看到table的size,这样我就可以忽略没什么数据的表了
Advertisement
Advertisement

发表于 2010-11-18 12:26 |显示全部楼层
此文章由 dayang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dayang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
EXEC sp_spaceused 'TABLE_NAME'

评分

参与人数 1积分 +2 收起 理由
kr2000 + 2 谢谢奉献

查看全部评分

2010年度奖章获得者

发表于 2010-11-18 12:26 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
sp_MSforeachtable @command1='EXEC sp_spaceused ''?''',@whereand='or OBJECTPROPERTY(o.id, N''IsSystemTable'') = 1'

评分

参与人数 1积分 +2 收起 理由
kr2000 + 2 谢谢奉献

查看全部评分

特殊贡献奖章

发表于 2010-11-18 12:33 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不能直接从enterprise manager 里面看到吗
原帖由 dayang 于 2010-11-18 12:26 发表
EXEC sp_spaceused 'TABLE_NAME'


有800多个table,不能一个一个试啊

sp_MSforeachtable @command1='EXEC sp_spaceused ''?''',@whereand='or OBJECTPROPERTY(o.id, N''IsSystemTable'') = 1'


得到一个这个
name                rows                reserved        data        index_size        unused
sysobjects        8235               2792 KB                1440 KB        1192 KB                160 KB

不知道什么意思,对我没什么用啊

发表于 2010-11-18 12:36 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
SELECT
    [TableName] = so.name,
    [RowCount] = MAX(si.rows)
FROM
    sysobjects so inner join sysindexes si on si.id = OBJECT_ID(so.name) and so.xtype = 'U'
GROUP BY
    so.name
ORDER BY
    2

你能得到table name和对应的rows,因为这是management view,可能数据不是每个table都很准确,但对你的要求,应该是适用了.

评分

参与人数 1积分 +10 收起 理由
kr2000 + 10 你太有才了

查看全部评分

特殊贡献奖章

发表于 2010-11-18 12:44 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-11-18 12:36 发表
SELECT
     = so.name,
    [RowCount] = MAX(si.rows)
FROM
    sysobjects so inner join sysindexes si on si.id = OBJECT_ID(so.name) and so.xtype = 'U'
GROUP BY
    so.name
ORDER BY
    2

你能 ...


帅!这就是我想要的
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-11-18 12:58 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2010-11-18 12:33 发表
不能直接从enterprise manager 里面看到吗


有800多个table,不能一个一个试啊



得到一个这个
name                rows                reserved        data        index_size        unused
sysobjects        8235               2792 KB                1440 KB        1192 K ...


it will give your a report of all tables in your db

unless you only got 1 table in that db?
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

特殊贡献奖章

发表于 2010-11-18 13:10 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-18 12:58 发表


it will give your a report of all tables in your db

unless you only got 1 table in that db?

有800多个table
你这一句太酷了
我不懂啊,run出来就得到一行

发表于 2010-11-18 13:42 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
For 2008 you should be able to see the Report,
Right click the DB -- > reports -->...  disk usage by table

评分

参与人数 1积分 +2 收起 理由
kr2000 + 2 谢谢奉献

查看全部评分

特殊贡献奖章

发表于 2010-11-18 13:59 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2010-11-18 13:42 发表
For 2008 you should be able to see the Report,
Right click the DB -- > reports -->...  disk usage by table

我这个是8.0,没有report这一项

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部