sp_spaceusedシステムストアドプロシージャで詳細情報を取得
SQL Serverデータベースのサイズは、いくつかの要因によって決まります。主な要因は次のとおりです。
- データ量: データベースに格納されるデータ量。
- インデックス: データベースのパフォーマンスを向上させるために作成されるインデックス。
- 空き領域: データベースの成長に対応するために確保される空き領域。
- ログファイル: データベースの変更履歴を記録するログファイル。
データベースのサイズを推定するには、次の方法があります。
- データベース サイズの見積もり - SQL Server - Microsoft Learn: URL Microsoft SQL Server データベース サイズの見積もり を使用する。
- T-SQL クエリを使用する。
T-SQL クエリによるデータベースサイズの推定
次の T-SQL クエリを使用して、データベースのサイズを推定できます。
SELECT
name AS 'データベース名',
SUM(reserved_page_count) * 8 AS '使用済みスペース (KB)',
SUM(total_pages) * 8 AS '合計スペース (KB)'
FROM sys.partitions
GROUP BY name
ORDER BY SUM(reserved_page_count) DESC;
このクエリは、データベース内のすべてのパーティションについて、使用済みスペースと合計スペースを表示します。
データベースのサイズが大きすぎると、パフォーマンスが低下したり、ストレージコストが高くなったりする可能性があります。データベースのサイズを調整するには、次の方法があります。
- 不要なデータを削除する。
- インデックスを再構築する。
- データベースの圧縮を有効にする。
- データベースファイルのサイズを変更する。
- Microsoft SQL Server データベースのファイルサイズの拡大 - TechDocs - Broadcom Inc.: URL Broadcom Microsoft SQL Server データベースのファイルサイズの拡大
- MS SQL Server での tempdb データベースの最適化 - IBM: URL IBM MS SQL Server での tempdb データベースの最適化
関連用語
- SQL Server: Microsoft 社が開発したリレーショナルデータベース管理システム。
- T-SQL: SQL Server で使用されるプログラミング言語。
- データベース: データを組織的に格納した集合体。
補足
- 上記の情報は、SQL Server 2019 をベースにしています。
- データベースのサイズを調整する前に、必ずデータベースのバックアップを取るようにしてください。
-- データベースのサイズを推定する T-SQL クエリ
SELECT
name AS 'データベース名',
SUM(reserved_page_count) * 8 AS '使用済みスペース (KB)',
SUM(total_pages) * 8 AS '合計スペース (KB)'
FROM sys.partitions
GROUP BY name
ORDER BY SUM(reserved_page_count) DESC;
-- 不要なデータを削除する T-SQL クエリ
DELETE FROM table_name
WHERE condition;
-- インデックスを再構築する T-SQL クエリ
ALTER INDEX index_name ON table_name REBUILD;
-- データベースの圧縮を有効にする T-SQL クエリ
ALTER DATABASE database_name SET PAGE_COMPRESSION = ON;
-- データベースファイルのサイズを変更する T-SQL クエリ
ALTER DATABASE database_name
MODIFY FILE (
NAME = file_name,
SIZE = new_size
);
SQL Serverデータベースのサイズを決定するその他の方法
SQL Server Management Studio (SSMS)
SSMS は、SQL Server を管理するためのグラフィカルツールです。SSMS を使用して、データベースのサイズを次のように確認できます。
- SSMS を起動し、データベースサーバーに接続します。
- オブジェクトエクスプローラーで、データベースを展開します。
- フォルダ [データベース] を右クリックし、 [プロパティ] を選択します。
- [ファイル] ページで、 [使用領域] と [合計スペース] の値を確認します。
sp_spaceused システムストアドプロシージャは、データベースの使用状況に関する情報を提供します。このプロシージャを使用して、データベースのサイズを次のように確認できます。
EXEC sp_spaceused @database_name = 'database_name';
このプロシージャは、次の情報を表示します。
- データベース名
- 使用済みスペース
- 空き領域
- データファイルの名前とサイズ
PowerShell は、Windows コマンドラインシェルです。PowerShell を使用して、データベースのサイズを次のように確認できます。
Get-Database -DatabaseName 'database_name' | Select-Object Name, TotalSize, UsedSpace
- 合計サイズ
サードパーティ製ツール
データベースのサイズを決定するために使用できるサードパーティ製ツールもいくつかあります。これらのツールは、多くの場合、追加機能を提供します。
- データベースの成長率の予測
- データベースの空き領域の分析
SQL Serverデータベースのサイズを決定するには、いくつかの方法があります。最適な方法は、ニーズと環境によって異なります。
sql-server t-sql