設定方法
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_arg | Active Session 収集オプション - 0 (デフォルト値): sqltext を収集- 1: sqltext を収集しない- 2: sqltext、inputbuffer を収集- 3: sqltext、inputbuffer、parameter list を収集 (SQL Server 2019 以上でサポート) |
job_info_procedure_interval | job info 情報の収集有無 - on (デフォルト値): job_info データをインターバル値 10 で収集- off: 収集しない |
sqlserver.onpremise_process_port | 複数インスタンスの CPU 収集オプション - false (デフォルト値): 複数インスタンスの CPU 使用量をすべて合算して収集- true: 設定したインスタンスの CPU 使用量のみを収集 |
sqlserver.activesessionmessage_azure_xadmin | Azure DB 接続の admin アカウント有無の設定 - admin アカウントでない場合は true を設定 |