データベースのデータとログの領域情報を表示する
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
この記事は、SQL Server Management Studio または Transact-SQL を使用して SQL Server のデータベースに関するデータとログの領域情報を表示する方法について説明します。
開始する前に
sp_spaceused を実行するアクセス許可は、public ロールに付与されています。 @updateusage パラメーターを指定できるのは、db_owner 固定データベース ロールのメンバーだけです。
SQL Server Management Studio を使用します。
データベースのデータとログの領域情報を表示する
[オブジェクト エクスプローラー]で、SQL Server のインスタンスに接続して、そのインスタンスを展開します。
[データベース] を展開します。
データベースを右クリックし、[レポート]、[標準レポート] の順にポイントし、[ディスク使用量] を選択します。
Transact-SQL の使用
sp_spaceused を使用してデータベースのデータ領域とログ領域情報を表示する
データベース エンジンに接続します。
[標準] ツール バーで、[新しいクエリ] を選択します。
次の例をクエリ ウィンドウに貼り付けて、[実行] を選択します。 この例では、sp_spaceused システム ストアド プロシージャを使用して、データベース全体 (テーブルやインデックスなど) のディスク領域情報を報告しています。
USE AdventureWorks2022; GO EXEC sp_spaceused; GO
データベースのオブジェクトとアロケーション ユニットで使用されるデータ領域を表示する
データベース エンジンに接続します。
[標準] ツール バーで、[新しいクエリ] を選択します。
次の例をクエリ ウィンドウに貼り付けて、[実行] を選択します。 この例では、オブジェクト カタログ ビューに対してクエリを行い、ディスク領域の使用量をテーブルごとおよび各テーブル内のアロケーション ユニットごとに報告します。
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 をクエリすることによってデータベースのデータ領域とログ領域情報を表示する
データベース エンジンに接続します。
[標準] ツール バーで、[新しいクエリ] を選択します。
次の例をクエリ ウィンドウに貼り付けて、[実行] を選択します。 この例では、 sys.database_files カタログ ビューに対してクエリを実行し、
AdventureWorks2022
データベース内のデータ ファイルとログ ファイルに関する特定の情報を取得します。USE AdventureWorks2022; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files; GO