分析比较数据库各表数据大小

1exec sp_spaceused '表名' --(SQL统计数据,大量事务操作后可能不准)
2exec sp_spaceused '表名', true --(更新表的空间大小,准确的表空大小,但可能会花些统计时间)
3exec sp_spaceused --(数据库大小查询)
4exec sp_MSforeachtable "exec sp_spaceused '?'--(任何用户表空间表小,SQL统计数据,,大量事务操作后可能不准)
5exec sp_MSforeachtable "exec sp_spaceused '?',true" --(任何用户表空间表小,大数据库慎用)

可以通过临时表进行查看

create table #temp
(
    name varchar(255), 
    rows 
bigint
    reserved 
varchar(20), 
    data 
varchar(20), 
    index_size 
varchar(20), 
    unused 
varchar(20)
)
exec sp_MSforeachtable "insert into #temp exec sp_spaceused '?'
select * from #temp order by data desc --可按大小排序
drop table #temp

查看数据文件和日志文件大小

--数据库大小
sp_helpdb 数据库名

--日志大小
dbcc sqlperf(logspace)


原文地址:https://www.cnblogs.com/zhangpengshou/p/2160745.html