本文介紹查看RDS SQL Server資料庫及表的空間大小的方法。
查看執行個體空間的大小
在RDS執行個體詳情頁的基本資料頁面查看執行個體總空間及已使用空間大小。
查看資料庫的大小
通過SSMS用戶端串連執行個體。具體操作,請參見串連SQL Server執行個體。
查看單個資料庫的空間使用方式,SQL命令如下:
USE <資料庫名>; GO EXEC sp_spaceused @updateusage = N'TRUE';
參數
說明
database_size
資料庫總大小,包含資料和記錄檔總和。該值始終大於
reserved
+unallocated space
。unallocated space
資料庫的未配置的空間。
reserved
已指派的空間總量。
data
實際資料佔用的空間大小。
index_size
索引佔用的空間大小。
unused
已指派但未使用的空間。
查看所有資料庫的空間使用方式,SQL命令如下:
USE master GO DECLARE @insSize TABLE(dbName sysname,checkTime VARCHAR(19),dbSize VARCHAR(50),logSize VARCHAR(50)) INSERT INTO @insSize ( dbName, checkTime, dbSize, logSize ) EXEC sp_msforeachdb 'select ''?'' dbName,CONVERT(VARCHAR(19),GETDATE(),120) checkTime,LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME,3)<>''ldf'' THEN convert (dec (15,2),size) * 8 / 1024 ELSE 0 END),15,2)+'' MB'') dbSize, LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME,3)=''ldf'' THEN convert (dec (15,2),size) * 8 / 1024 ELSE 0 END),15,2)+'' MB'') logSize from ?.dbo.sysfiles' SELECT * FROM @insSize ORDER BY CONVERT(DECIMAL,LTRIM(RTRIM(SUBSTRING(dbSize,1,LEN(dbSize)-2)))) DESC
返回結果樣本如下:
以上返回結果未包含記錄檔的大小,查看記錄檔大小的SQL命令如下:
DBCC SQLPERF(LOGSPACE);
返回結果樣本如下:
查看資料庫中表的大小
通過SSMS用戶端串連執行個體。具體操作,請參見串連SQL Server執行個體。
查看資料庫中單個表大小,SQL命令如下:
USE <資料庫名>; GO EXEC sp_spaceused N'<表名>';
返回結果樣本如下:
查看資料庫中所有表大小,SQL命令如下:
USE <資料庫名>; GO DECLARE @tabSize TABLE ( name NVARCHAR(100), rows CHAR(20), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ); INSERT INTO @tabSize EXEC sp_MSForEachTable ' EXEC sp_spaceused ''?'''; SELECT * FROM @tabSize ORDER BY CONVERT(INT, REPLACE([data], 'KB', '')) DESC, 2 DESC;
返回結果樣本如下: