すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:RDS SQL Server インスタンスのデータベースとテーブルのストレージ確認

最終更新日:Jun 23, 2026

このトピックでは、RDS SQL Server インスタンスにおけるデータベースとテーブルのストレージ領域を確認する方法について説明します。

インスタンス領域の確認

インスタンス詳細ページの [基本情報] セクションで、合計ストレージ領域と使用済みストレージ領域を確認します。

[使用状況] セクションで、合計と使用済みの [ストレージ領域] を確認します。

データベースサイズの確認

  1. SSMS クライアントでインスタンスに接続します。 詳細については、「SQL Server インスタンスへの接続」をご参照ください。

  2. 単一データベースの領域使用状況を確認するには、次の SQL コマンドを実行します:

    USE <database_name>;
    GO
    EXEC sp_spaceused @updateusage = N'TRUE';

    パラメーター

    説明

    database_size

    データベースの合計サイズ (データファイルとログファイルを含む)。

    unallocated space

    データベース内の未割り当て領域。

    reserved

    割り当て済みの合計領域。

    data

    データが使用する領域。

    index_size

    インデックスが使用する領域。

    unused

    割り当て済みだが未使用の領域。

  3. すべてのデータベースの領域使用状況を確認するには、次の 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

    出力例を次に示します:

    dbName    checkTime            dbSize       logSize
    master    2024-01-01 12:00:00  5.00 MB      1.50 MB
    tempdb    2024-01-01 12:00:00  8.00 MB      0.50 MB
    model     2024-01-01 12:00:00  3.25 MB      0.75 MB

    トランザクションログの使用状況に関する詳細情報 (使用領域の割合など) を確認するには、次の SQL コマンドを実行します:

    DBCC SQLPERF(LOGSPACE);

    結果セットは、Database NameLog Size (MB)Log Space Used (%)Status の各列を返します。

データベース内のテーブルサイズの確認

  1. SSMS クライアントでインスタンスに接続します。 詳細については、「SQL Server インスタンスへの接続」をご参照ください。

  2. データベース内の単一テーブルのサイズを確認するには、次の SQL コマンドを実行します:

    USE <database_name>;
    GO
    EXEC sp_spaceused N'<table_name>';

    出力例を次に示します:

    name    rows    reserved    data      index_size  unused
    zhtdb   10000   328 KB      304 KB    16 KB       8 KB
  3. データベース内のすべてのテーブルのサイズを確認するには、次の SQL コマンドを実行します:

    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;

    出力例を次に示します:

    name    rows    reserved    data      index_size  unused
    zhtdb   10000   328 KB      304 KB    16 KB       8 KB

関連ドキュメント