このトピックでは、ApsaraDB RDS for SQL Serverデータベースおよびデータベース内のテーブルで使用されるストレージ容量を表示する方法について説明します。
RDS for SQL Serverインスタンスのストレージ容量の表示
RDS for SQL Serverインスタンスのインスタンス詳細ページに移動し、[基本情報] ページでインスタンスのストレージ容量を確認できます。
データベースが使用するストレージ容量の表示
SSMSクライアントを使用して、RDS for SQL Serverインスタンスに接続します。 詳細については、「ApsaraDB RDS For SQL Serverインスタンスへの接続」をご参照ください。
次のコマンドを実行して、データベースで使用されているストレージ容量を表示します。
USE <Database name>; GO EXEC sp_spaceused @updateusage = N'TRUE';
パラメーター
説明
database_size
データベースのサイズ (データファイルとログファイルのサイズを含む) 。 この値は、
reserved
パラメーターとunallocated space
パラメーターの値の合計よりも大きくなります。未割り当てスペース
データベースの未割り当てストレージのサイズ。
予約済み
データベースに割り当てられたストレージの合計サイズ。
data
データによって占有されているストレージ。
index_size
インデックスによって占有されているストレージ。
未使用
割り当てられているが未使用のストレージ。
次のコマンドを実行して、インスタンス内のすべてのデータベースで使用されているストレージ容量を表示します。
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);
データベース内のテーブルが使用するストレージ容量の表示
SSMSクライアントを使用して、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;