SQL Server:统计数据库中每张表的大小
1. 統計數據庫中每張表的大小
1.1 首先執行下面的命令
exec sp_MSforeachtable @command1="sp_spaceused '?'";
1.2 檢測當前數據庫版本是否支持存儲過程“sp_MSforeachtable”,如果執行成功則可以使用下面的命令
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 '?'";
select * from tmp where name <> 'tmp' order by data desc? ;
drop table tmp ;
rows:行數
reserved:數據庫為該表分配的空間
data:數據實際使用的空間,reserved肯定>=data
index_size:索引使用的空間
unused:為數據庫中的對象保留但尚未使用的空間總量,大致等于reserved - data - index_size的值
2. 統計數據庫中每張表的行數
select 表名=a.name, 記錄數=b.rows?
from sysobjects a, sysindexes b
where a.name=b.name and a.type='u'
ORDER BY b.rows desc
總結
以上是生活随笔為你收集整理的SQL Server:统计数据库中每张表的大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经验:如何做好两台BXP服务器(转)
- 下一篇: SQL中Group By的用法整理