我认为大多数人都知道如何通过 GUI(右键单击表、属性)来执行此操作,但在 T-SQL 中执行此操作完全很困难。
问问题
4018 次
3 回答
13
创建表#tmpSizeChar ( 表名系统名, row_count 整数, reserved_size varchar(50), 数据大小 varchar(50), index_size varchar(50), 未使用大小 varchar(50)) 创建表#tmpSizeInt ( 表名系统名, row_count 整数, reserved_size_KB int, data_size_KB 整数, index_size_KB 整数, 未使用的大小 KB 整数) 设置无计数 插入 #tmpSizeChar EXEC sp_msforeachtable 'sp_spaceused ''?''' 插入 #tmpSizeInt ( 表名, 行数, reserved_size_KB, data_size_KB, index_size_KB, 未使用大小 KB ) 选择 [table_name], 行数, CAST(SUBSTRING(reserved_size, 0, PATINDEX('% %', reserved_size)) AS int)reserved_size, CAST(SUBSTRING(data_size, 0, PATINDEX('% %', data_size)) AS int)data_size, CAST(SUBSTRING(index_size, 0, PATINDEX('% %', index_size)) AS int)index_size, CAST(SUBSTRING(unused_size, 0, PATINDEX('% %', used_size)) AS int)unused_size 来自#tmpSizeChar /* 删除表#tmpSizeChar 删除表#tmpSizeInt */ 选择 * 从 #tmpSizeInt ORDER BY reserved_size_KB DESC
于 2008-08-05T19:11:11.453 回答
0
于 2008-08-05T19:16:19.133 回答
0
sp_spaceused 表名
其中 tableName 是您想知道的表的名称。
于 2016-01-14T16:40:56.830 回答