このページでは、Microsoft SQL Server コレクタの設定について詳しく説明しています。

前提条件

データベースの可視性を使用して Microsoft SQL Server をモニタするには、2005 以降のバージョンを実行している必要があります。 

Azure SQL Managed Instance を構成するには、このトピックで説明されている Microsoft SQL Server コレクタの設定手順に従います。

Connection Details

セクションフィールド説明
新しいコレクタの作成データベースタイプモニタするデータベースタイプ。
Agent(エージェント)コレクタを管理するデータベースエージェント。
Collector Nameコレクタを識別する名前。
接続の詳細[ホスト名] または [IP アドレス]

データベースが実行されているマシンのホスト名または IP アドレス。

クラスタをモニタするには、クラスタのリスナーのホスト名または IP アドレスを指定します。MSSQL クラスタのモニタリングを有効にする場合は、Microsoft SQL Server クラスタのモニタ」を参照してください。

Listener Port

データベースエージェントと通信するデータベースのポートの TCP/IP アドレス。

Microsoft SQL Server クラスタを使用する場合は、クラスタのリスナーポートを指定します。

クラスタ内のすべてのノードのモニタリングを有効にするには、クラスタのモニタリングを有効にする必要があります。これにより、エージェントはクラスタ内に存在するすべてのノードを自動的に検出できます。「Microsoft SQL Server クラスタのモニタ
」を参照してください。

Windows Authenticationデータベースに接続するときに Windows 認証を有効にする場合にクリックします。
Custom JDBC Connection Stringデータベースエージェントによって生成された JDBC 接続文字列(jdbc:sqlserver:// など)。カスタムの接続文字列を指定することもできます。これはカスタム認証オプションを設定する場合に有効です。
[Username] と [Password]ユーザ名データベースエージェントを介してデータベースに接続し、データベースをモニタしているユーザの名前。ユーザは、「Microsoft SQL Server のユーザ権限」で説明されている権限を持っている必要があります。
パスワードデータベースエージェントを介してデータベースに接続し、データベースをモニタしているユーザのパスワード。
CyberArkデータベースのユーザ名とパスワードに対して CyberArk を有効にする場合にクリックします。CyberArk を有効にすると、データベースのユーザ名とパスワードを取得するために、アプリケーション、安全、フォルダ、およびオブジェクトに関する情報が必要になります。データベースの可視性とともに CyberArk を使用するには、CyberArk Web サイトから JavaPasswordSDK.jar ファイルをダウンロードし、ファイルの名前を cyberark-sdk-9.5.jar に変更する必要があります。その後、この JAR ファイルをデータベースエージェント zip ファイルの lib ディレクトリにコピーする必要があります。 
詳細オプションSub-Collectors

複数のデータベースインスタンスを統合ビューでモニタし、複数のデータベースのメトリックを集約する場合にクリックします。カスタムクラスタをモニタするには、サブコレクタごとに追加のホスト名または IP アドレス、およびポートの詳細を追加できます。合計で最大 29 個のサブコレクタを追加できます。したがって、カスタムクラスタで 30 個のデータベースをモニタできます。メインコレクタによって消費されるライセンスに加え、各サブコレクタはデータベースタイプに応じて 1 つ以上のライセンスを消費します。 

注意

  • ホスト名または IP アドレス以外のすべての接続パラメータ、およびサブコレクタのポートの詳細はメインコレクタと同じです。コレクタの構成を作成または編集する際にサブコレクタに異なるパラメータを指定する場合は、コレクタの作成 API を使用してのみ、これを行うことができます。

  • カスタムクラスタコレクタをスタンドアロンコレクタに変換することはできません。スタンドアロンデータベースをモニタする場合は、カスタムクラスタコレクタ全体を削除し、新しいスタンドアロンコレクタを作成します。ただし、カスタムクラスタコレクタを削除すると、すべての履歴データが削除されることに注意してください。
接続プロパティ(Connection Properties)新しい JDBC 接続プロパティを追加するか、またはリレーショナルデータベースの既存のプロパティを編集する場合にクリックします。
Exclude Databases除外するデータベース(カンマで区切ります)。
Monitor Operating System詳細については、「サーバハードウェアをモニタするデータベースエージェントの構成」ページを参照してください。

注意

Amazon RDS での高可用性(マルチ AZ)を処理するには、databaseName JDBC 接続文字列プロパティをユーザデータベースに設定します。

Microsoft SQL Server のモニタ

既存のユーザアカウントを使用するか、または関連する権限を持つ新しいユーザアカウントを作成することによって、SQL Server をモニタできます。

Microsoft SQL Server クラスタのモニタ


データベースの可視性は、Microsoft SQL データベースの Always On クラスタ検出をサポートしています。MSSQL データベースサーバ 2012 以降の可用性グループ内のすべてのノードをモニタできます。 

すべてのノードのモニタリングを有効にするには、コントローラレベルまたはエージェントレベルで dbagent.mssql.cluster.discovery.enabled プロパティを有効にする必要があります。

このプロパティは、デフォルトで無効になっています。

認証方式

SQL サーバは、次のいずれかの認証方式を使用してモニタできます。

  • Windows 認証済みアカウント(データベースエージェントが Windows で実行されている場合)
  • SQL Server 認証済みアカウント(データベースエージェントが Windows または Linux で実行されている場合)

はじめる前に

Windows 認証済みアカウントを使用して SQL Server データベースに接続するには、次の手順を実行します。

● [Create New Collector] ダイアログを使用してコレクタを作成する場合は、[Windows Authentication] チェックボックスをオンにします。

注意

データベース接続の詳細を更新するときは、ユーザ名とパスワードを指定しないでください。


● データベースエージェント認証ライブラリへのパスを次のように指定します。

バージョンの詳細パス
Windows 64 ビット
java -Djava.library.path="C:\dbagent_install_dir\auth\x64" -jar db-agent.jar
CODE
Windows 32 ビット
java -Djava.library.path="C:\dbagent_install_dir\auth\x86" -jar db-agent.jar
CODE


● Windows アカウントのユーザが、データベースサーバを認証するための適切な権限を持ち、データベースエージェントを起動できることを確認します。

● Windows サービスを使用してデータベースエージェントを実行している場合は、サービスのログオンクレデンシャルを SQL Server アクセス権を持つ Windows アカウントに変更します。

SQL Server ログオンのサーバレベルの権限

(モニタに必要な最小限の権限を持つ)新しい SQL Server ユーザを作成するには、次の手順を実行します。

  1. SQL Server Management Studio(SSMS)を使用して、AppD_User などの AppDynamics SQL Server データベースコレクタの新しいログインを作成します。
    New Login
  2. 新しいユーザを「master」および「msdb」データベースにマッピングするには、[Users mapped to this login] の下の [master] と [msdb] をクリックします。 

    Login Properties

    「master」と「msdb」へのユーザマッピングは、モニタリングに必須です。[Object Browser] 画面でオブジェクト情報を表示するには、他のデータベースへの追加のマッピングが必要です。

  3. ログインを作成したら、AppD_User を [Login - New] ウィンドウで指定した名前に置き換えることによってユーザに次の権限を付与します。

    use master
    GRANT VIEW ANY DATABASE TO AppD_User;
    GRANT VIEW ANY definition to AppD_User;
    GRANT VIEW server state to AppD_User;
    GRANT SELECT ON [sys].[master_files] TO AppD_User;
    CODE

SQL Server 用のオプションのオブジェクト権限

データベース(DB)可視性ユーザインターフェイス内のオプション画面には、次のオブジェクト権限が必要です。

画面オブジェクト権限

[Object Browser] > [Users]

GRANT execute on sp_helplogins to AppD_User;
CODE

注意

securityAdmin ロールが必要です

[Object Browser] > [Storage]



オブジェクト ストレージ メタデータを表示するには、対象の他のデータベースへのユーザマッピングが必要です。

注意

public ロールが必要です

[Object Browser] > [Job Status]

use msdb
GRANT SELECT on dbo.sysjobsteps TO AppD_User;
GRANT SELECT on dbo.sysjobs TO AppD_User;
GRANT SELECT on dbo.sysjobhistory TO AppD_User;
CODE
[Object Browser] > [Error Log]

バージョン 2005 以前の場合:

GRANT execute on sp_readErrorLog to AppD_User;
CODE

バージョン 2005 より後の場合:

GRANT EXECUTE ON xp_readerrorlog
CODE

注意

securityAdmin ロールが必要です

[Object Browser] > [Database]

オブジェクト ストレージ メタデータを表示するには、対象の他のデータベースへのユーザマッピングが必要です(例:テーブル/ビューメタデータ)。

注意

public ロールが必要です。

次の図は、ユーザが AdventureWorks2012 データベースにどのようにマッピングされているかを示しています。

Login Properties