データベースのデータとログの領域情報を表示する

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

この記事では、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server内のデータベースのデータとログ領域の情報を表示する方法について説明します。

開始する前に

sp_spaceused を実行するアクセス許可は、public ロールに付与されています。 @updateusage パラメーターを指定できるのは、db_owner固定データベース ロールのメンバーだけです。

SQL Server Management Studio を使用する

データベースのデータ領域とログ領域情報を表示するには

  1. オブジェクト エクスプローラーで、SQL Serverのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース] を展開します。

  3. データベースを右クリックし、 [レポート][標準レポート] の順にポイントし、 [ディスク使用量] を選択します。

Transact-SQL の使用

sp_spaceused を使用してデータベースのデータ領域とログ領域情報を表示するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーで、 [新しいクエリ] を選択します。

  3. 次の例をクエリ ウィンドウに貼り付けて、 [実行] を選択します。 この例では、sp_spaceused システム ストアド プロシージャを使用して、データベース全体 (テーブルやインデックスなど) のディスク領域情報を報告しています。

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

データベースのオブジェクトとアロケーション ユニットで使用されるデータ領域を表示するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーで、 [新しいクエリ] を選択します。

  3. 次の例をクエリ ウィンドウに貼り付けて、 [実行] を選択します。 この例では、オブジェクト カタログ ビューに対してクエリを行い、ディスク領域の使用量をテーブルごとおよび各テーブル内のアロケーション ユニットごとに報告します。

    SELECT
      t.object_id,
      OBJECT_NAME(t.object_id) ObjectName,
      sum(u.total_pages) * 8 Total_Reserved_kb,
      sum(u.used_pages) * 8 Used_Space_kb,
      u.type_desc,
      max(p.rows) RowsCount
    FROM
      sys.allocation_units u
      JOIN sys.partitions p on u.container_id = p.hobt_id
    
      JOIN sys.tables t on p.object_id = t.object_id
    
    GROUP BY
      t.object_id,
      OBJECT_NAME(t.object_id),
      u.type_desc
    ORDER BY
      Used_Space_kb desc,
      ObjectName;
    
    

querying sys.database_files をクエリすることによってデータベースのデータ領域とログ領域情報を表示するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーで、 [新しいクエリ] を選択します。

  3. 次の例をクエリ ウィンドウに貼り付けて、 [実行] を選択します。 この例では、 sys.database_files カタログ ビューに対してクエリを実行し、 AdventureWorks2022 データベース内のデータ ファイルとログ ファイルに関する特定の情報を取得します。

    USE AdventureWorks2022;  
    GO  
    SELECT file_id, name, type_desc, physical_name, size, max_size  
    FROM sys.database_files;  
    
    GO  
    
    

関連項目

SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
データベースに対するデータ ファイルまたはログ ファイルの追加
データまたはログ ファイルのデータベースからの削除