【发布时间】:2017-06-09 11:19:38
【问题描述】:
我已经寻找了几天来找到一种方法来查找当前 SQL 实例中每个数据库的表大小。目前我能够使用 sp_spaceused 毫无问题地获取当前数据库的表大小,有没有办法使用 sp_MSforeachdb 来获取大小信息?
我可以列出所有表格,但不确定如何添加表格大小。
Declare @temp_table table
(
DB_NAME varchar(max),
TABLE_OWNER varchar(max),
TABLE_NAME varchar(max),
TABLE_TYPE varchar(max),
REMARKS varchar(max)
)
INSERT INTO @temp_table (DB_NAME, TABLE_OWNER, TABLE_NAME, TABLE_TYPE,REMARKS)
EXECUTE master.sys.sp_MSforeachdb 'USE [?]; EXEC sp_tables'
SELECT DB_NAME, TABLE_OWNER, TABLE_NAME, TABLE_TYPE
FROM @temp_table
WHERE DB_NAME not in ('master','model','msdb','tempdb') and [TABLE_TYPE] = 'TABLE'
order by 1,2,3
欢迎任何建议。
提前谢谢..
【问题讨论】:
标签: sql-server database