DBCC SQLPERF (Transact-SQL)

適用対象: SQL Server (サポートされているすべてのバージョン) Azure SQL Database Azure SQL Managed Instance

すべてのデータベースを対象として、トランザクション ログ領域の使用状況に関する統計情報を提供します。 SQL Server では、待機統計情報とラッチ統計情報のリセットにも使用できます。

適用対象: SQL Server (SQL Server 2008 以降)、SQL Database (一部の地域ではプレビュー版)

Topic link iconTransact-SQL 構文表記規則

構文

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);  

参照

DBCC (Transact-SQL)
sys.dm_os_latch_stats (Transact-SQL)
sys.dm_os_wait_stats (Transact-SQL)
sp_spaceused (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_stats (Transact-SQL)