コンソールでインスタンス全体のストレージ容量を確認し、T-SQL クエリを実行して、データベース単位およびテーブル単位の使用量をドリルダウンします。
インスタンスのストレージ容量を確認する
インスタンスの詳細ページで、基本情報 タブに移動します。ページには、プロビジョニングされたストレージの合計容量と現在の使用量が表示されます。

データベースのストレージ使用量を確認する
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
SQL Server Management Studio (SSMS) を使用して ApsaraDB RDS for SQL Server インスタンスに接続済みであること。接続手順については、「ApsaraDB RDS for SQL Server インスタンスへの接続」をご参照ください。
単一のデータベースを表示
特定のデータベースのストレージ使用量を確認するには、次のクエリを実行します。
USE <Database name>;
GO
EXEC sp_spaceused @updateusage = N'TRUE';このクエリは 2 つの結果セットを返します。下表に、返されるすべての列について説明します。
| 列 | 説明 |
|---|---|
database_size | データファイルおよびログファイルを含むデータベースの合計サイズ。この値は reserved および unallocated space の合計より大きくなります。これは、ログファイルのサイズが上記 2 列には含まれないためです。 |
unallocated space | データベース内で、データベースオブジェクトに割り当てられていない未割り当て領域。 |
reserved | データベースオブジェクトに割り当てられたストレージの合計量。 |
data | データに使用されているストレージ量。 |
index_size | インデックスに使用されているストレージ量。 |
unused | オブジェクトに割り当てられているが、まだ使用されていないストレージ量。 |
インスタンス内のすべてのデータベースの表示
データベースごとのストレージ使用量を、データサイズの降順で一覧表示するには、次のクエリを実行します。
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この結果には、ログファイルのストレージ使用量は含まれません。ログ領域の使用量を個別に確認するには、DBCC SQLPERF(LOGSPACE); を実行します。
テーブルのストレージ使用量を確認する
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
SQL Server Management Studio (SSMS) を使用して ApsaraDB RDS for SQL Server インスタンスに接続済みであること。接続手順については、「ApsaraDB RDS for SQL Server インスタンスへの接続」をご参照ください。
単一テーブルの表示
特定のテーブルのストレージ使用量を確認するには、次のクエリを実行します。
USE <Database name>;
GO
EXEC sp_spaceused N'<Table name>';データベースのすべてのテーブルを表示
データベース内のすべてのテーブルのストレージ使用量を、データサイズの降順で一覧表示するには、次のクエリを実行します。
USE <Database name>;
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;