メインコンテンツまでスキップ

設定方法

1. サポートバージョン​

  • SQL Server 2012 以上のバージョンをサポートします。

Cloud 環境における SQL Server サポート状況​

Cloud 環境SQL Server サポート有無
AWS✅ サポート
Azure✅ サポート
OCI❌ 未サポート
NCP✅ サポート
GCP✅ サポート
SCP✅ サポート

2. 必須権限​

インスタンス登録時に使用するモニタリングアカウント(例: exemone)に次の権限を付与する必要があります。Setting > Database でインスタンスを登録または編集する際に、このアカウント情報を入力します。

2-1. 基本モニタリング権限​

master DB への権限付与

-- SQL Server 2022 以上 / Azure
ALTER SERVER ROLE ##MS_serverStateReader## ADD MEMBER exemone;
-- tablesizeinfomessage 収集のために追加権限が必要
GRANT VIEW DEFINITION TO exemone;

-- SQL Server 2012 ~ 2019
GRANT VIEW SERVER STATE TO exemone;

各 DB への権限付与

GRANT EXECUTE ON dbo.fn_cdc_hexstrtobin TO exemone; -- 変更データキャプチャ(CDC)関連関数の実行権限を付与
GRANT VIEW DEFINITION TO exemone; -- SQL Server システムカタログビューへのアクセス権限を付与 (sysindexes, sysobjects)

2-2. Session Kill 権限​

GRANT KILL DATABASE CONNECTION TO exemone;

2-3. モニタリング方式(sqlserver.mode)による追加権限​

モード説明必要権限
procedure (デフォルト値)収集クエリをプロシージャとして生成create any database 権限が必要 (maxgauge DB を自動生成する場合)
query収集クエリをプロシージャとして生成しない (Azure 環境などで使用)create database 権限は不要

procedure モード - maxgauge DB を自動生成する場合

GRANT CREATE ANY DATABASE TO exemone;

procedure モード - maxgauge DB を手動で生成する場合

USE maxgauge;
CREATE USER [exemone] FOR LOGIN [exemone]; -- maxgauge DB 内にユーザーを作成
GRANT CREATE PROCEDURE TO exemone;
GRANT CONTROL ON SCHEMA::dbo TO exemone;
GRANT EXECUTE ON dbo.fn_cdc_hexstrtobin TO exemone;

query モード - fn_cdc_hexstrtobin 関数のエラーが発生する場合

GRANT EXECUTE ON dbo.fn_cdc_hexstrtobin TO exemone;

3. 事前設定​

exemONE モニタリングオプションの設定​

SQL Server インスタンスは、Setting > Database の Instance 登録/編集画面の Custom Configuration に以下のキー値を設定することで、指標収集方式を詳細に調整できます。

パス: Setting > Database > Edit Instance > Custom Configuration

オプション説明
sqlserver.mode収集方式の設定
- procedure (デフォルト値): 収集クエリをプロシージャとして生成
- query: 収集クエリをプロシージャとして生成しない (Azure のように procedure を生成できない環境で使用)
sqlserver.active_session_procedure_argActive Session 収集オプション
- 0 (デフォルト値): sqltext を収集
- 1: sqltext を収集しない
- 2: sqltext、inputbuffer を収集
- 3: sqltext、inputbuffer、parameter list を収集 (SQL Server 2019 以上でサポート)
job_info_procedure_intervaljob info 情報の収集有無
- on (デフォルト値): job_info データをインターバル値 10 で収集
- off: 収集しない
sqlserver.onpremise_process_port複数インスタンスの CPU 収集オプション
- false (デフォルト値): 複数インスタンスの CPU 使用量をすべて合算して収集
- true: 設定したインスタンスの CPU 使用量のみを収集
sqlserver.activesessionmessage_azure_xadminAzure DB 接続の admin アカウント有無の設定
- admin アカウントでない場合は true を設定