sys.dm_os_performance_counters (Transact-SQL)
適用対象:SQL Server Analytics Platform System (PDW)
Azure SQL Database Azure SQL Managed Instance
Azure 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/sec
Buffer 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 Basic、S0、S1 のサービス目標、およびエラスティック プール内のデータベースの場合は、サーバー管理者アカウント、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)