sys.dm_os_performance_counters (Transact-SQL)

適用対象:yesSQL Server Analytics Platform System (PDW) YesYesAzure SQL Database Azure SQL Managed Instance yesyesAzure Synapse Analytics (すべてのサポートされているバージョン)

サーバーによって管理されているパフォーマンス カウンターごとに 1 つの行を返します。 各パフォーマンス カウンターの詳細については、「 Use SQL Server Objects」を参照してください

Note

このコマンドを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出す場合は、 という名前を使用します sys.dm_pdw_nodes_os_performance_counters。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
object_name nchar(128) このカウンターが属するカテゴリ。
counter_name nchar(128) カウンターの名前。 カウンターに関する詳細を取得するには、「オブジェクトを使用する」のカウンターの一覧から選択するトピックSQL Serverします
instance_name nchar(128) カウンターの特定のインスタンスの名前。 多くの場合、データベース名が含まれる場合があります。
cntr_value bigint カウンターの現在の値。

メモ: 1 秒あたりのカウンター数の場合、この値は累積的です。 レート値は、不連続の時間間隔で値をサンプリングして計算する必要があります。 連続する 2 つのサンプル値の差は、使用される時間間隔のレートと等しくなります。
cntr_type int パフォーマンス アーキテクチャで定義されているカウンター Windowsの種類。 パフォーマンス カウンターの種類の詳細については、Docs または Windows Server の WMI パフォーマンス カウンターの種類に関するドキュメントを参照してください。
pdw_node_id int 適用対象: Azure Synapse Analytics Analytics Platform System (PDW)

このディストリビューションが含まれるノードの識別子。

注釈

SQL Server のインストール インスタンスで Windows オペレーティング システムのパフォーマンス カウンターを表示できない場合は、次の Transact-SQL クエリを使用して、パフォーマンス カウンターが無効になっているか確認します。

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

戻り値が 0 行の場合、パフォーマンス カウンターが無効であることを意味します。 次に、セットアップ ログを確認し、エラー 3409 Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. を検索する必要があります。これは、パフォーマンス カウンターが有効になっていない状態を示します。 3409 エラーの直前のエラーは、パフォーマンス カウンターの有効化エラーの根本原因を示している必要があります。 セットアップ ログ ファイルの詳細については、「セットアップ ログ ファイルの表示と読み取りSQL Serverを参照してください

列の値が cntr_type 65792 のパフォーマンス カウンターには、平均ではなく、最後に観察された値のスナップショットだけが表示されます。

列の値が指定されている cntr_type パフォーマンス カウンター 272696320または272696576間隔の 1 秒ごとに完了した操作の平均数が表示されます。 このタイプのカウンターは、システム時計のタイマー刻みで時間を計測します。 たとえば、 カウンター Buffer Manager:Lazy writes/secBuffer Manager:Checkpoint pages/sec と カウンターについてのみ、最後の秒のスナップショットのような読み取りを取得するには、1 秒間隔の 2 つのコレクション ポイント間の差分を比較する必要があります。

列の値が設定 cntr_type されているパフォーマンス カウンター 537003264セットに対するサブセットの比率がパーセンテージとして表示されます。 たとえば、カウンターは Buffer Manager:Buffer cache hit ratio キャッシュ ヒットの総数とキャッシュ参照の総数を比較します。 そのため、最後の秒のスナップショットのような読み取りのみを取得するには、現在の値と 1 秒離れている 2 つのコレクション ポイント間の基本値 (分母) の差分を比較する必要があります。 対応する基本値は、列の値が Buffer Manager:Buffer cache hit ratio base 指定されている cntr_type パフォーマンス カウンター 1073939712。

列の値が cntr_type 指定されているパフォーマンス カウンター 1073874176操作数に対して処理された項目の比率として、平均で処理される項目の数が表示されます。 Locks:Average Wait Time (ms)たとえば、カウンターは、1 秒あたりのロック待機数と 1 秒あたりのロック要求数を比較して、待機の結果として発生した各ロック要求の平均待機時間 (ミリ秒単位) を表示します。 そのため、最後の秒のスナップショットのような読み取りのみを取得するには、現在の値と 1 秒離れている 2 つのコレクション ポイント間の基本値 (分母) の差分を比較する必要があります。 対応する基本値は、列の値が Locks:Average Wait Time Base 指定されている cntr_type パフォーマンス カウンター 1073939712。

データベース エンジンの sys.dm_os_performance_counters 再起動後、DMV 内のデータは保持されません。 データベース エンジン sqlserver_start_time の最後の sqlserver_start_time を見つけるには、 の列を使用します。

アクセス許可

と SQL Serverでは、 SQL Managed Instanceアクセス許可が必要VIEW SERVER STATEです。

SQL Database BasicS0S1 のサービス目標、およびエラスティック プール内のデータベースの場合は、サーバー管理者アカウント、Azure Active Directory 管理者アカウント、またはサーバー ロールのメンバーシップ必要です。 他のすべてのサービスSQL Database、VIEW DATABASE STATEデータベースに対するアクセス許可、またはサーバー ロールのメンバーシップが##MS_ServerStateReader##必要です。

次の例では、スナップショット カウンター値を表示するパフォーマンス カウンターすべてが返されます。

SELECT object_name, counter_name, instance_name, cntr_value, cntr_type  
FROM sys.dm_os_performance_counters
WHERE cntr_type = 65792 OR cntr_type = 272696320 OR cntr_type = 537003264;  

参照

SQL Server オペレーティングシステム関連の動的管理ビュー (Transact-sql)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)