DBCC SQLPERF (Transact-SQL)
適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
すべてのデータベースを対象として、トランザクション ログ領域の使用状況に関する統計情報を提供します。 SQL Server では、待機統計情報とラッチ統計情報のリセットにも使用できます。
適用対象: SQL Server 2008 (10.0.x) 以降のバージョン、および SQL Database (一部のリージョンではプレビュー)
構文
DBCC SQLPERF
(
[ LOGSPACE ]
| [ "sys.dm_os_latch_stats" , CLEAR ]
| [ "sys.dm_os_wait_stats" , CLEAR ]
)
[ WITH NO_INFOMSGS ]
Note
SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
LOGSPACE
データベースごとに、トランザクション ログの現在のサイズと使用されているログ領域の割合を返します。 この情報を利用して、トランザクション ログで使用されている領域の量を監視します。
重要
SQL Server 2012 (11.x) 以降のトランザクション ログの容量利用情報については、このトピックの「注釈」セクションを参照してください。
"sys.dm_os_latch_stats", CLEAR
ラッチ統計をリセットします。 詳細については、「sys.dm_os_latch_stats (Transact-SQL)」を参照してください。 SQL Database では、このオプションは使用できません。
"sys.dm_os_wait_stats", CLEAR
待機統計をリセットします。 詳しくは「sys.dm_os_wait_stats (Transact-SQL)」をご覧ください。 SQL Database では、このオプションは使用できません。
WITH NO_INFOMSGS
重大度レベル 0 から 10 のすべての情報メッセージを表示しないようにします。
結果セット
次の表では、結果セットの列について説明します。
列名 | 定義 |
---|---|
データベース名 | ログ統計情報を表示するデータベースの名前。 |
ログ サイズ (MB) | ログに割り当てられている現在のサイズ。 データベース エンジンでは内部ヘッダー情報の格納用に少量のディスク容量が確保されるので、この値は最初にログ領域に割り当てられた容量よりも常に小さくなります。 |
ログの使用済み領域 (%) | 現在トランザクション ログ情報の保存に使用されているログ ファイルのパーセンテージ。 |
状態 | ログ ファイルの状態。 常に 0 です。 |
解説
SQL Server 2012 (11.x) 以降、データベース別のトランザクション ログの容量利用情報を返すには、DBCC SQLPERF(LOGSPACE)
の代わりに sys.dm_db_log_space_usage DMV を使用します。
トランザクション ログには、データベースで実行された各トランザクションが記録されます。 詳細については、「トランザクション ログ (SQL Server)」および「SQL Server トランザクション ログのアーキテクチャと管理ガイド」を参照してください。
アクセス許可
SQL Server には、DBCC SQLPERF(LOGSPACE)
を実行するための、サーバーに対する VIEW SERVER STATE アクセス許可が必要です。 待機統計情報とラッチ統計情報をリセットするには、サーバーに対する ALTER SERVER STATE
権限が必要です。
SQL Database の Premium レベルおよび Business Critical レベルでは、データベースで VIEW DATABASE STATE アクセス許可が必要です。 SQL Database Standard、Basic、および General Purpose レベルでは、SQL Database 管理者アカウントが必要です。 待機およびラッチ統計をリセットすることはできません。
例
A. すべてのデータベースのログ領域情報を表示する
次の例では、SQL Server インスタンスに含まれているすべてのデータベースの LOGSPACE
情報を表示します。
DBCC SQLPERF (LOGSPACE);
GO
結果セットは次のようになります。
Database Name Log Size (MB) Log Space Used (%) Status
------------- ------------- ------------------ -----------
master 3.99219 14.3469 0
tempdb 1.99219 1.64216 0
model 1.0 12.7953 0
msdb 3.99219 17.0132 0
AdventureWorks 19.554688 17.748701 0
B. 待機統計をリセットする
次の例では、SQL Server インスタンスの待機統計をリセットします。
DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);