今天想在服务器上还原一个DB,发现磁盘空间不够,查看发现,其中一个DB竟然有56G了。因此想收缩一下这个DB,发现大小没多大变化。然后在网上找了找SQL脚本,看能不能查看下哪个表的数据量那么大。
网上找到的脚本:
CREATE TABLE #Temp (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) )
GO
INSERT #Temp EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #Temp ORDER BY CONVERT(INT,REPLACE(DATA,'KB','')) DESC DROP TABLE #Temp
可以查看每个表数据量大小。记录下来。