1.查看单表大小:
sp_spaceused '表 '如果不写表名,就是看整个库的!2.察看数据库所有表的大小: 方法一:内置存储过程法:EXEC sp_MSforeachtable @command1="print '?'",@command2="sp_spaceused '?'"方法二:Transact-SQL语句:--Transact-SQL语句——列表输出SET NOCOUNT ON
DECLARE @db VARCHAR(20) --获取当前数据库 SET @db=db_name() DBCC UPDATEUSAGE(@db) WITH NO_INFOMSGS GOCREATE TABLE #tblSpace
( 数据表名称 varchar(250) null, 记录笔数 int null, 保留空间 varchar(15) null, 数据使用空间 varchar(15) null, 索引使用空间 varchar(15) null, 未使用空间 varchar(15) null ) DECLARE @tblname varchar(250) DECLARE curTbls CURSOR FOR SELECT TABLE_NAME FROM Information_Schema.TABLES --BASE TABLE很重要 WHERE TABLE_TYPE= 'BASE TABLE 'OPEN CurTbls
FETCH NEXT FROM curTbls INTO @tblNameWHILE @@FETCH_STATUS=0
BEGIN INSERT #tblSpace EXEC sp_spaceused @tblName FETCH NEXT FROM curTbls INTO @tblName END CLOSE CurTbls DEALLOCATE curTblsSELECT * FROM #tblSpace ORDER BY 记录笔数 DESC
DROP TABLE #tblSpac
e