ローカル環境変数

Microsoft SQL Server エージェントの動作は、ローカル環境変数を構成することで変更できます。

SQL Server サービスの可用性を確認するための変数

SQL Server サービスの可用性を確認するには、以下の環境変数を使用します。
  • COLL_MSSQL_RETRY_INTERVAL: この変数は、SQL Server サービスの状況をチェックする際の再試行間隔 (分単位) を指定します。 値がゼロ以下の場合、この変数のデフォルト値は 1 分となります。
  • COLL_MSSQL_RETRY_CNT: この変数は、SQL Server サービスが開始されているかどうかについて、SQL Server エージェントがチェックする再試行数を指定します。この変数で指定した回数の再試行の後で SQL Server サービスが開始されていない場合、コレクターは処理を停止します。この変数の値がゼロ以下の場合、この変数はデフォルト値 3 になります。

SQL Server エラー・ログ・ファイルのモニター用変数

「MS SQL エラー・イベントの詳細」データ・セットをモニターするには、以下の環境変数を使用します。
  • COLL_ERRORLOG_STARTUP_MAX_TIME: この変数は、エージェント開始前のエラー収集の時間間隔 (T) を指定します。デフォルト値は 0 分です。この変数には、以下の値を指定できます。
    T = 0
    エージェントが開始または再始動した時間から、エラー・ログ・ファイルのモニターを開始します。エージェントが開始する前にエラー・ログ・ファイルに記録されたエラーは、読み取られません。
    T = 1
    エージェントは、COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW 変数に設定される以下の値 (R で示されます) に従ってエラー・ログ・ファイルをモニターします。
    • R < 0 の場合、エージェントが開始または再始動した時間から、エラー・ログ・ファイルのモニターを開始します。
    • R = 1 の場合、エラー・ログ・ファイルに記録されたすべてのエラーをモニターします。
    • R > 1 で、かつエージェントが初めてインストールされた場合、R 個のエラーがモニターされるまでエラー・ログ・ファイルをモニターします。R > 1 で、かつエージェントが再始動された場合、前回モニターされなかった R 個のエラーをすべてモニターします。
    T > 1
    エージェントは、開始または再始動した時間から最大 T 分間に記録された以前のエラーを、すべてモニターします。エージェントのモニタリングは、COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW 変数に設定された以下の値によっても異なります。
    • R ≤ 0 の場合、エージェントが開始または再始動した時間から、エラー・ログ・ファイルのモニターを開始します。
    • R = 1 の場合、最大 T 分間に記録されたすべてのエラーに対するエラー・ログ・ファイルをモニターします。
    • R > 1 の場合、最後の T 分間に記録された最大 R 個のエラーをモニターします。
  • COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW: この変数は、エージェントの開始時に処理する必要のあるエラーの最大数を指定します。デフォルト値は 0 です。この変数には、以下の値を割り当てることができます。
    R = 0
    エージェントは、開始または再始動した時間から、エラー・ログ・ファイルのモニターを開始します。エージェントが開始する前にエラー・ログ・ファイルに作成されたエラーは、読み取られません。
    R = 1
    エージェントは、開始または再始動した時間から最後の T 分間に記録されたエラーをモニターします。
    R > 1
    エージェントは、最後の T 分間に記録された R 個のエラーをモニターします。
  • COLL_ERRORLOG_MAX_EVENT_ROW: この変数は、エラーの行数を指定します。デフォルト値は 50 です。この変数には、以下の値を割り当てることができます。
    X = 0
    エージェントは、エラー・ログを表示しません。
    X > 0
    エージェントは、X 行のエラーを表示します。
  • COLL_ERRORLOG_RECYCLE_WAIT: この変数は、MS SQL エラー・イベントの詳細属性グループのシチュエーションがトリガーされたときにその属性グループのデータを収集する前に Microsoft SQL Server エージェントが待機する時間間隔 (秒) を示します。この変数には、1 から 30 の範囲の値を割り当てることができます。この変数の値がゼロ未満の場合、この変数はデフォルト値ゼロ (秒) になります。この変数の値が 30 より大きい場合、この変数はデフォルト値 30 (秒) になります。

照会タイムアウト間隔を設定するための変数

SQL Server エージェントの照会タイムアウト間隔を設定するには、以下の環境変数を使用します。
  • QUERY_TIMEOUT: この環境変数は、SQL Server エージェントが SQL Server に送信された照会に対する応答の受信を待機する最大時間 (秒単位) を定義します。この変数の値は、45 秒より少なくする必要があります。ただし、この変数の値が 0 秒に設定されている場合、SQL Server エージェントは SQL Server からの応答の受信を無制限に待機します。ロックされている多数のデータベースに SQL Server エージェントがアクセスする場合は、この変数に 10 から 20 秒の範囲の値を割り当てる必要があります。設定したタイムアウト間隔内に照会が処理されない場合、SQL Server エージェントはタイムアウトした照会をスキップし、キュー内の次の照会に移動します。エージェントは、タイムアウトした照会のデータを表示しません。
  • QUERY_THREAD_TIMEOUT: この環境変数は、SQL Server エージェントが SQL Server に送信された照会に対する応答の受信を待機する最大時間 (秒単位) を定義します。この環境変数は、スレッド収集を使用するいくつかの属性グループに適用できます。例えば、KOQDBD、KOQTBLD、KOQDEVD などです。この変数の値には、QUERY_TIMEOUT 変数とは異なり、制限はありません。その他の点では、QUERY_TIMEOUT 変数と同様に機能します。

使用可能なジョブに関する情報を表示するための変数

「MS SQL ジョブの詳細」データ・セットの使用可能なジョブに関する情報を表示するには、COLL_JOB_DISABLED 環境変数を使用します。この変数の値を 1 に設定すると、使用不可のジョブに関する情報は Microsoft SQL Server エージェントに表示されません。 この変数を指定しない場合は、使用可能なジョブと使用不可のジョブに関する情報を表示できます。

「MS SQL ファイル・グループの詳細」データ・セット内の行数を制限するための変数

「MS SQL ファイル・グループの詳細」データ・セットに対して、コレクター・サービスがフェッチする行数を制限するには、COLL_KOQFGRPD_MAX_ROW 環境変数を使用します。 この環境変数は、「MS SQL ファイル・グループの詳細」データ・セットに対して、コレクター・サービスがフェッチする最大行数を定義します。 この変数の値を指定しない場合、コレクター・サービスは「MS SQL ファイル・グループの詳細」データ・セットに対して 10,000 行をフェッチします。この環境変数を使用して、koqcoll.ctl ファイル内の最大行数のデフォルトの制限を変更します。デフォルトの制限を変更するには、以下のステップを実行します。
  1. koqcoll.ctl ファイル内で KOQFGRPD に対する最大行数を指定します。
  2. COLL_KOQFGRPD_MAX_ROW 環境変数を追加し、この変数の値が koqcoll.ctl ファイルで指定した値と同じであることを確認します。

koqcoll.ctl ファイル内の値が COLL_KOQFGRPD_MAX_ROW 環境変数で指定されている値より小さい場合は、koqcoll.ctl ファイル内の値が最大行数の値として処理されます。

koqcoll.ctl ファイル内の値が COLL_KOQFGRPD_MAX_ROW 環境変数で指定されている値より大きい場合は、COLL_KOQFGRPD_MAX_ROW 環境変数内の値が最大行数の値として処理されます。

「MS SQL ファイル・グループの詳細」データ・セットの収集を向上させるための変数

COLL_DBD_FRENAME_RETRY_CNT 変数を使用して、%COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_TEMP ファイルを %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_PREV ファイルに移動するために可能な試行回数を指定します。

この変数の値を指定しない場合、Microsoft SQL Server エージェントはファイルの移動を 3 回試行します。

「MS SQL デバイス詳細」データ・セット内の行数を制限するための変数

「MS SQL デバイス詳細」データ・セットに対して、コレクター・サービスがフェッチする行数を制限するには、COLL_KOQDEVD_MAX_ROW 環境変数を使用します。この環境変数は、「MS SQL デバイス詳細」データ・セットに対して、コレクター・サービスがフェッチする最大行数を定義します。 この変数の値を指定しない場合、コレクター・サービスは「MS SQL デバイス詳細」データ・セットに対して 10,000 行をフェッチします。この環境変数を使用して、koqcoll.ctl ファイル内の最大行数のデフォルトの制限を変更します。デフォルトの制限を変更するには、以下のステップを実行します。
  1. koqcoll.ctl ファイル内で KOQDEVD に対する最大行数を指定します。
  2. COLL_KOQDEVD_MAX_ROW 環境変数を追加し、この変数の値が koqcoll.ctl ファイルで指定した値と同じであることを確認します。

koqcoll.ctl ファイル内の値が COLL_KOQDEVD_MAX_ROW 環境変数で指定されている値より小さい場合は、koqcoll.ctl ファイル内の値が最大行数の値として処理されます。

koqcoll.ctl ファイル内の値が COLL_KOQDEVD_MAX_ROW 環境変数で指定されている値より大きい場合は、COLL_KOQDEVD_MAX_ROW 環境変数内の値が最大行数として処理されます。

「MS SQL デバイス詳細」データ・セットの収集を向上させるための変数

「MS SQL デバイス詳細」データ・セットの収集を向上させるには、以下の環境変数を使用します。
  • COLL_KOQDEVD_INTERVAL: この環境変数により、「MS SQL デバイス詳細」データ・セットの 2 つの連続する収集間の時間間隔 (分単位) を指定できます。
    注: デフォルトでは、「MS SQL デバイス詳細」データ・セットのデータ収集はデマンド・ベースです。COLL_KOQDEVD_INTERVAL 変数を使用して、「MS SQL デバイス詳細」データ・セットのスレッド・ベースの収集を開始し、2 つのスレッド収集間の時間間隔を設定します。
  • COLL_DBD_FRENAME_RETRY_CNT: この環境変数を使用して、%COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_TEMP ファイルを %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_PREV ファイルに移動するために可能な試行回数を指定します。
この変数の値を指定しない場合、Microsoft SQL Server エージェントはファイルの移動を 1 回試行します。

「MS SQL データベース詳細」データ・セットの収集を向上させるための変数

「MS SQL データベース詳細」データ・セットの収集を向上させるには、以下の環境変数を使用します。
  • COLL_KOQDBD_INTERVAL: この環境変数を使用して、「MS SQL データベース詳細」データ・セットの 2 つの連続するスレッド・ベースの収集間の時間間隔 (分単位) を指定します。この変数の値を指定しない場合、または指定された時間間隔が 3 分未満の場合、Microsoft SQL Server エージェントは、デフォルトの 3 分間隔を使用します。収集により長い時間がかかる場合、またはデータが頻繁に NOT_COLLECTED と表示される場合、Database Detail Collection completed in %d seconds のログを参照して収集時間を確認し、この変数値をログに示された収集時間よりも大きい値に設定できます。
  • COLL_DBD_FRENAME_RETRY_CNT: この環境変数を使用して、%COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_TEMP ファイルを %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_PREV ファイルに移動するために可能な試行回数を指定します。
この変数の値を指定しない場合、Microsoft SQL Server エージェントはファイルの移動を 1 回試行します。

「MS SQL 監査の詳細」データ・セットの収集を向上させるための変数

「MS SQL 監査の詳細」データ・セットの収集を向上させるには、以下の環境変数を使用します。
  • COLL_AUDIT_TYPE: この変数を使用して、特定のログのモニターを使用可能または使用不可にします。この変数のデフォルト値は [AL][FL][SL] です。デフォルトでは、エージェントはアプリケーション・ログ、監査ファイル、およびセキュリティー・ログの 3 つのタイプすべてのログをモニターします。以下に示すとおり、変数の値には各ログ・タイプを表す 2 つの文字コードが含まれます。
    • [AL] はアプリケーション・ログを表します
    • [FL] は監査ファイルを表します
    • [SL] はセキュリティー・ログを表します
    変数の値を変更して、特定のログ・タイプのモニターを無効にすることができます。 例えば、変数の値を [AL][SL] と指定すると、監査ファイルはモニターされません。この変数に値を指定しない場合、監査の詳細はモニターされません。
  • COLL_AUDIT_DURATION: この変数を使用して、この変数で指定した時間間隔中に発生した監査イベントを報告します。例えば、この変数を 7 に設定した場合、最後の 7 時間に発生した監査イベントのみが「MS SQL 監査の詳細」データ・セットによって報告されます。COLL_AUDIT_DURATION 変数のデフォルト値は 24 hours です。
  • COLL_AUDIT_COLLECTION_INTERVAL: 「MS SQL 監査の詳細」データ・セットのスレッド収集は、SQL Server インスタンス上にあるすべてのデータベースの仕様を提供します。この変数を使用して、このスレッド収集の間隔を設定します。例えば、この変数を 7 に設定した場合、データベース仕様の最新セットが 7 時間ごとに SQL Server インスタンスから抽出されます。COLL_AUDIT_COLLECTION_INTERVAL 変数のデフォルト値は 24 です。

「MS SQL プロセスの詳細」データ・セットの収集を向上させるための変数

「MS SQL プロセスの詳細」データ・セットの収集を向上させるには、COLL_PROC_BLOCK_INTERVAL 変数を以下の値とともに使用します。
  • COLL_PROC_BLOCK_INTERVAL = 0の場合、 「ブロッキング・プロセスの期間」属性および「ブロッキング・リソースの期間」属性の収集は使用不可になります。
  • COLL_PROC_BLOCK_INTERVAL = x の場合、「ブロッキング・プロセスの期間」属性および「ブロックしているリソースの期間」属性についての 2 つの連続するデータ収集の間隔は x 分です。
CANDLE_HOME ディレクトリーで COLL_PROC_BLOCK_INTERVAL 変数が設定されていない場合、2 つの連続するデータ収集間の間隔は 3 分になります。

ロックされたオブジェクトをデータ収集から除外するための変数

データベース詳細、 ファイル・グループの詳細、データベースのミラーリング、 およびデバイス詳細の各ワークスペースのために送信する照会の実行に長い時間がかかる場合は、COLL_DBCC_NO_LOCK 変数を使用して、 値 WITH (NOLOCK) を指定した照会を実行してください。この変数により、 照会の実行対象のオブジェクトがロックされている場合に照会がキューで待機することがなくなります。

「表の詳細」データ・セットによって返された行のソート基準を設定するための変数

「表の詳細」データ・セットによって返された行は、COLL_TBLD_SORTBY 変数に設定された値によって、降順にソートされます。COLL_TBLD_SORTBY 変数のデフォルト値は FRAG (フラグメント化の割合) です。有効な値は、ROWS (表内の行数)、SPACE (表によって使用されるスペース)、および OPTSAGE (表のオプティマイザー統計の経過時間) です。

「MS SQL 問題の詳細」データ・セットおよび「MS SQL 問題の要約」データ・セットの収集を向上させるための変数

  • COLL_ALERT_SEV: この変数を使用して、「MS SQL 問題の詳細」データ・セットおよび「MS SQL 問題の要約」データ・セットに表示されるエラー・メッセージの重大度レベルを設定します。重大度レベルがこの変数で指定された値以上であるエラー・メッセージが、「MS SQL 問題の詳細」データ・セットおよび「MS SQL 問題の要約」データ・セットに表示されます。例えば、この変数の値を 10 に設定した場合、重大度レベルが 10 以上であるエラー・メッセージが「MS SQL 問題の詳細」データ・セットおよび「MS SQL 問題の要約」データ・セットに表示されます。この変数の値を指定しない場合、重大度レベルが 17 以上であるエラー・メッセージが「MS SQL 問題の詳細」データ・セットおよび「MS SQL 問題の要約」データ・セットに表示されます。
  • COLL_SINCE_ERRORLOG_RECY: この変数を使用して、現在の ERRORLOG ファイル内の重大度が高いエラーのみをモニターします。この変数の値を指定しない場合、変数の値は 0 になります。つまり、データの収集について、「MS SQL 問題の要約」データ・セットは、前の ERRORLOG ファイルから読み取られた重大度が高いエラーも対象に入れます。現在の ERRORLOG ファイル内の重大度が高いエラーのみをモニターするには、この変数の値を 1 に設定します。

タイムアウト間隔を設定するための変数

Microsoft SQL Server エージェントのタイムアウト間隔を設定するには、以下の環境変数を使用します。
  • WAIT_TIMEOUT: この変数を使用して、Microsoft SQL Server エージェントの待機タイムアウト間隔を指定します。データの収集に45 秒を超える時間を要するデータ・セットがある場合、エージェントが停止するか、シチュエーションが不適切にトリガーされる可能性があります。 ログを調べて、データの収集に45 秒を超える時間を要するデータ・セットがないか確認し、WAIT_TIMEOUT 変数を使用して、エージェント・プロセスとコレクター・プロセスの間の待機時間を増やします。
  • COLL_DB_TIMEOUT: この変数を使用して、既存の SQL Server 接続上での照会の実行などの要求が完了するまで待機する間隔 (秒単位) を定義します。この値を超えると、アプリケーションに戻ります。この値を 0 に設定した場合、タイムアウトはありません。この変数の値を指定しない場合、エージェントは 15 秒待機してからアプリケーションに戻ります。

コレクター・ログ・ファイルのプロパティーを設定するための変数

コレクター・ログ・ファイルのプロパティーを設定するには、以下の環境変数を使用できます。
  • COLL_WRAPLINES: この変数を使用して、col.out ファイル内の最大行数を指定します。この変数のデフォルト値は 90,000 行 (およそ 2 MB) です。
  • COLL_NUMOUTBAK: この変数を使用して、コレクター・ログ・ファイルのバックアップ・コピーの作成数を指定します。デフォルトでは、コレクター・ログ・ファイルのバックアップ・コピーは 5 個作成されます。バックアップ・ファイルの名前は *.out です。バックアップ・ファイルがいっぱいになると、ファイルの名前が *.ou1 に変更され、最新のログが *.out ファイルに書き込まれます。このような方法で、バックアップ・ファイルが 5 個になると、最古のログは *.ou5 ファイルで入手でき、最新のログは *.out ファイルで入手できます。
    COLL_NUMOUTBAK 変数に以下のいずれかの値を指定すると、コレクター・ログ・ファイルのバックアップ・コピーを 6 個以上作成できます。
    • バックアップ・ファイルが 9 個以下の場合は、COLL_NUMOUTBAK変数に、作成するバックアップ・ファイルの数を指定します。例えば、COLL_NUMOUTBAK 変数に 9 を指定した場合、9 個のバックアップ・ファイルが作成されます。
    • バックアップ・ファイルが 10 個以上 999 個以下の場合は、COLL_NUMOUTBAK 変数に、前にハイフンを付けてバックアップ・ファイルの数を指定します。例えば、COLL_NUMOUTBAK 変数に -352 を指定した場合、352 個のバックアップ・ファイルが作成されます。
  • COLL_DEBUG: この変数を使用して、この変数の値を「dddddddddd」 (10 個の「d」) に設定することで、コレクターの完全トレースを有効にします。

一時ファイルを削除するための変数

COLL_TMPFILE_DEL_INTERVAL: この変数を使用して、KOQ_<タイム・スタンプ> 一時ファイルを削除する必要がある時点までの間隔 (分単位) を指定します。この変数の値を指定しない場合、変数の値は 0 になります。つまり、一時ファイルを直ちに削除する必要があります。

MS SQL Server エージェントで使用されるドライバーを変更するための変数

Microsoft SQL Server エージェントで使用されるドライバーを変更するには、KOQ_ODBC_DRIVER 環境変数を使用します。この変数は、SQL Server に接続するために Microsoft SQL Server エージェントが使用するドライバーを指定します。この変数の値を指定しない場合、エージェントはデフォルト・ドライバーとして ODBC SQL Server Driver を使用します。
注: Microsoft SQL Server ドライバーを指定する場合、ドライバー名が正しいこと、およびそのドライバーがデータ・ソースのドライバーのオプション (ODBC) にリストされていることを確認してください。

AlwaysOn が有効な SQL Server データベースに接続するための変数

KOQ_APPLICATION_INTENT: この変数を使用して、SQL Server への接続中の接続オプションを指定します。
KOQ_APPLICATION_INTENT オプションの詳細:
  • Readonly: 接続は、ApplicationIntentreadonly に指定してオープンされます。
  • Readwrite: 接続は、ApplicationIntentreadwrite に指定してオープンされます。
    これが Readwrite に設定されている場合、Microsoft SQL Server エージェントは、接続での書き込み操作を実行しません。
この変数が設定されていない場合、接続は、ApplicationIntent プロパティーなしで確立されます。
注: ドライバーは、環境変数 KOQ_ODBC_DRIVER によって指定されます。この変数が設定されていない場合は、デフォルトの SQL Server ドライバーが使用されます。
ドライバーが ApplicationIntent をサポートしていない場合、接続は、ApplicationIntent プロパティーなしでオープンされます。