モニタリングに使用されるユーザアカウントは、Windows 認証アカウント(データベースエージェントが Windows 上で実行されている場合)または SQL Server 認証(AppDynamics データベースの可視性が Windows または Linux で実行されている場合)にすることができます。 

SQL Server のログオンに必要な最小権限

次の手順を使用すると、必要な最小権限を持つ SQL Server ユーザを作成できます。 

以下を使用して、完全な AppDynamics データベースの可視性または SQL Server 機能を取得するために必要な最小限の権限レベルを提供する SQL Server ログオンユーザを作成します。

AWS RDS インスタンスで作成されたマスターユーザは、インスタンスマスターです。モニタリングのためにローカルユーザにアクセス権を付与する場合は、同じマスターユーザを使用してカスタムモニタリングロールを作成し、このロールをユーザに割り当てます。

  1. SQL Server Management Studio を使用して、DBMon_Agent_User などの AppDynamics SQL Server データベースコレクタの新しいログインを作成します。 
  2. (マスターユーザ以外のユーザの場合)次のコマンドは、Management Studio のクエリウィンドウからバッチとして実行します。次に、データベースをモニタするために DBMon_Agent_User に割り当てられたロールへの権限付与の例を示します。

    USE master
    GO
    CREATE SERVER ROLE monitoring_role
    USE master
    GO
    ALTER SERVER ROLE DBMon_Agent_User ADD MEMBER Monitoring_User
    GRANT CONNECT SQL TO Monitoring_User
    GRANT VIEW ANY DATABASE TO Monitoring_User
    GRANT VIEW ANY DEFINITION TO Monitoring_User
    GRANT VIEW SERVER STATE to Monitoring_User
    SQL
  3. [User Mapping] タブで、新しいユーザをマスターデータベースと msdb データベースにマッピングします。 

    オブジェクト情報の表示

    Database > Objects Browser でオブジェクト情報を表示するには、対象のデータベースにモニタリングユーザをマッピングします。
  4. ログインを作成したら、ユーザに次の権限を付与し、DBMon_Agent_User を [Login - New] パネルで指定した名前に置き換えます。

次のコマンドは、Management Studio のクエリウィンドウからバッチとして実行できます。この例は、DBMon_Agent_User に対する権限付与を示しています。別のログインを設定している場合は、この変更を忘れないでください。

use master
ALTER SERVER ROLE processadmin ADD MEMBER DBMon_Agent_User;
GRANT VIEW ANY DATABASE TO DBMon_Agent_User;
GRANT VIEW ANY definition to DBMon_Agent_User;
GRANT VIEW server state to DBMon_Agent_User;
CODE


DBMon_Agent_User は、[Create New Collector, Connection Details, Username] フィールドで指定された SQL Server ユーザアカウントの名前です。 
AWS RDS で実行プランを生成するには、追加の権限が必要です。SHOWPLAN 権限は、各データベースに対して明示的に指定する必要があります。


USE <DB NAME>
go
GRANT SHOWPLAN to DBMon_Agent_User;
go
CODE