解决方法
对于单个表,您可以使用
sp_spaceused MyTable
对于数据库中的所有表,您可以将其与sp_msforeachtable一起使用,如下所示
CREATE TABLE #temp ( table_name sysname,row_count INT,reserved_size VARCHAR(50),data_size VARCHAR(50),index_size VARCHAR(50),unused_size VARCHAR(50)) SET NOCOUNT ON INSERT #temp EXEC sp_msforeachtable 'sp_spaceused ''?''' SELECT a.table_name,a.row_count,COUNT(*) AS col_count,a.data_size FROM #temp a INNER JOIN information_schema.columns b ON a.table_name collate database_default = b.table_name collate database_default GROUP BY a.table_name,a.data_size ORDER BY CAST(REPLACE(a.data_size,' KB','') AS integer) DESC DROP TABLE #temp