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

时间:2022-06-09 03:26:26
1 exec  sp_spaceused  ' 表名 '   -- (SQL统计数据,大量事务操作后可能不准)
2 exec  sp_spaceused  ' 表名 ' , true  -- (更新表的空间大小,准确的表空大小,但可能会花些统计时间)
3 exec  sp_spaceused  -- (数据库大小查询)
4 exec  sp_MSforeachtable " exec  sp_spaceused  ' ? ' -- (任何用户表空间表小,SQL统计数据,,大量事务操作后可能不准)
5 exec  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)