Hitachi

JP1 Version 12 JP1/Performance Management - Agent Option for Microsoft(R) SQL Server


付録A.4 レコードのインスタンス数の算出方法

PFM - Agent for Microsoft SQL Serverが収集する各レコードのインスタンス数の算出方法を表A-1に示します。

sqlcmdなどで監視対象のMicrosoft SQL Serverに接続して,SQL文を実行しインスタンス数を算出してください。また,算出方法を記載しているレコードに関しては,算出方法に従い算出してください。

実行手順
  1. sqlcmdを起動します。

  2. 次の権限が与えられているユーザーを用いて,監視対象のMicrosoft SQL Serverに接続してください。

    ・sysadmin

  3. インスタンス数を確認したいレコードに対して,表A-1に記載されているSQL文を実行してください。

    重要

    インスタンス数に関しては,監視対象となるMicrosoft SQL Serverの動的情報となります。そのため,監視対象のMicrosoft SQL Serverに対する接続数などの要因によりインスタンス数が動的に増減します。また,Storeデータベースのディスク占有量およびシステム全体のディスク占有量の見積もりをする際には,算出されたインスタンス数の最大の値を適用してください。

表A‒1 レコードのインスタンス数の算出方法

レコード

インスタンス数またはインスタンス数算出方法

PI

インスタンス数は1。

PI_PI2

インスタンス数は1。

PI_DI

Microsoft SQL Server 2014以前

SELECT count(*) FROM master..sysdatabases

Microsoft SQL Server 2016以降

SELECT count(*) FROM master.sys.databases

PI_ESI※1

インスタンス数は0。

PI_GENI※1

インスタンス数は0。

PI_RPDB

sp_replcountersのシステムストアドプロシージャを実行した結果の件数。

PI_SERV

インスタンス数は1。

PI_SRV2

インスタンス数は1。

PI_SI

インスタンス数は1。

PI_TLOG

DBCC SQLPERF(LOGSPACE)のDBCCステートメントを実行した結果の件数。

PI_UCTR

インスタンス数は1。

PD

インスタンス数は1。

PD_CD

sp_configureのシステムストアドプロシージャを実行した結果の件数。

PD_DD

Microsoft SQL Server 2014以前

SELECT count(*) FROM master..sysdatabases

Microsoft SQL Server 2016以降

SELECT count(*) FROM master.sys.databases

PD_DS

Microsoft SQL Server 2014以前

SELECT count(*) FROM master..sysdatabases

Microsoft SQL Server 2016以降

SELECT count(*) FROM master.sys.databases

PD_EE

Microsoft SQL Serverのエラーログに対して書き込まれたエラー件数で,次のメッセージの件数。

  • 日本語Windows,英語Windows,中国語Windowsの場合,「Error」に該当する各国文字。

  • 上記以外のWindowsの場合,インスタンス数は0。

PD_EEレコードのパフォーマンスデータの収集方法による,エラー件数の数え方は次のとおり。

  • 履歴収集,またはアラームによる稼働監視を行う場合

    前回の収集時間以降にMicrosoft SQL Serverのエラーログに書き込まれたエラー件数と,インスタンス情報「LIMIT_PD_EE_NUMBER」の指定値のどちらか小さい方。

  • リアルタイムレポートを表示する場合

    Microsoft SQL Serverのエラーログに書き込まれたエラー件数。

Microsoft SQL Serverのエラーログは,インスタンス情報「SQL_ERRORLOG」に指定した監視対象のMicrosoft SQL Serverインスタンスのエラーログファイル。

PD_ES

インスタンス数は1。

PD_GEND※1

インスタンス数は0。

PD_IA

インスタンス数は1。

PD_JH

SELECT count(*)

FROM msdb..sysjobhistory a

LEFT JOIN msdb..sysjobsteps b ON a.job_id = b.job_id AND a.step_id = b.step_id

PD_LD

Microsoft SQL Server 2014以前

SELECT count(*) FROM master..syslockinfo

Microsoft SQL Server 2016以降

SELECT count(*) FROM master.sys.dm_tran_locks

PD_LIC

インスタンス数は1。

PD_LOCK

インスタンス数は1。

PD_PCAC

インスタンス数は1。

PD_PDES

インスタンス数は0。

PD_PDET

Microsoft SQL Server 2014以前

SELECT count(*)

FROM ( master..sysprocesses a

LEFT JOIN master..syslogins b ON a.sid = b.sid )

LEFT JOIN master..sysusers c ON a.sid = c.sid

Microsoft SQL Server 2016以降

SELECT count(*)

FROM master.sys.dm_exec_sessions a

LEFT JOIN master.sys.server_principals b ON

a.security_id = b.sid

PD_RD

次の1.および2.を実行する。

  1. USE distribution

    EXEC sp_tables MSdistribution_history, dbo

  2. USEディストリビューション

    EXEC sp_tables MSdistribution_history, dbo

  • 1.および2.を実行した結果として,両方とも「メッセージ911,レベル16」のエラーが発生した場合,インスタンス数は0。

  • 1.および2.のどちらかがエラーとならずに,その結果が0件の場合,インスタンス数は0。

  • 1.および2.のどちらかがエラーとならずに,その結果が1件の場合,インスタンス数は次の実行結果。

    Microsoft SQL Server 2014以前

     SELECT count(*) FROM master..sysdatabases

    Microsoft SQL Server 2016以降

     SELECT count(*) FROM master.sys.databases

PD_RH※1

インスタンス数は0。

PD_RS

次の1.および2.を実行する。

  1. USE distribution

    EXEC sp_tables MSdistribution_history, dbo

  2. USE ディストリビューション

    EXEC sp_tables MSdistribution_history, dbo

  • 1.および2.を実行した結果が,両方とも「メッセージ911,レベル16」のエラーが発生した場合,インスタンス数は0。

  • 1.および2.のどちらかがエラーとならずに,その結果が0件の場合,インスタンス数は0。

  • 1.および2.のどちらかがエラーとならずに,その結果が1件の場合,インスタンス数は1。

PD_SQL※2

インスタンス数は0。

PD_SS

インスタンス数は1。

PD_USER

Microsoft SQL Server 2014以前

SELECT count(*)

FROM ( master..sysprocesses a

LEFT JOIN master..syslogins b ON a.sid = b.sid )

LEFT JOIN master..sysusers c ON a.sid = c.sid

Microsoft SQL Server 2016以降

SELECT count(*)

FROM master.sys.dm_exec_sessions a

LEFT JOIN master.sys.server_principals b ON a.security_id = b.sid

注※1

予約レコードのため使用できません。

注※2

リアルタイムでだけ使用できるレコードです。