ユーザーの作成および権限の付与

Microsoft SQL Server で、エージェントの実行元にするユーザーを作成し、そのユーザーに、Microsoft SQL Server をモニターする権限を付与する必要があります。権限を付与するプロセスは、Microsoft SQL Server 2005 以降では同じです。

始める前に

Microsoft SQL Server エージェント をインストールします。ユーザーを作成し、そのユーザーに権限を付与するには、sysdamin 許可の役割を持つデータベース管理者である必要があります。

このタスクについて

既存の SQL Server ユーザーが Microsoft SQL Server をモニターするための十分な権限を持っているかどうかを判別するには、以下の手順を使用します。

既存の SQL Server ユーザーの権限の確認

Windows
ユーティリティー・ツール koqVerifyPerminssions.exe を実行して、既存の SQL Server ユーザーが SQL Server データベースに関連する十分な権限を持っているかどうかを確認できます。

このタスクについて

ユーザーが sysadmin 役割または最小限の必要な権限を持っている場合、ユーティリティー・ツール koqVerifyPerminssions.exe は、メッセージ PASS を返します。詳細な検査結果は、koqVerifyPermissions_log ログに記録されています。
以下は、最小限の権限のリストです。
  • サーバーの権限には、「サーバー状態の表示」「データベースの状態の表示」、および「定義の表示」が含まれている必要があります。

    これらのサーバー・レベル権限は必須です。

  • モニターするすべてのシステム・データベースとユーザー定義データベースについて、データベース役割メンバーシップには、public および db_owner が含まれている必要があります。
    db_owner 権限は、以下のデータ・セットのデータを収集するために必要です。
    • サーバーの詳細データ・セット
    • データベース詳細データ・セット
    • データベースのミラーリング・データ・セット
    • サーバーの要約データ・セット
    • ジョブ要約データ・セット
  • msdb データベースについて、データベース役割メンバーシップには、db_datareaderSQLAgentReaderRole、および SQLAgentUserRole が含まれている必要があります。これらの権限は、ジョブの詳細データ・セットのために必要です。

手順

  1. コマンド・プロンプトを起動し、以下のユーティリティー・ディレクトリーに変更します。
    • 64 ビットのエージェントの場合は、Agent_home¥TMAITM6_x64
    • 32 ビットのエージェントの場合は、Agent_home¥TMAITM6
    ここで、Agent_home はエージェント・インストール・ディレクトリーです。
  2. 以下のパラメーターを指定して、koqVerifyPerminssions.exe を実行します。
    koqVerifyPermissions.exe -S Instance_name -U Username -P Password
    各部の意味は次のとおりです。
    • Instance_name は、SQL Server インスタンス名です。
    • Username は、ユーティリティー・ツールによって検証されるユーザー名です。
    • Password は、ユーザーのパスワードです。このパラメーターは、username が指定されている場合に必要です。
    注: username および password が指定されていない場合は、システムへのログオンであるデフォルト・ユーザーが使用されます。例: NT AUTHORITY¥SYSTEM

タスクの結果

詳細な検査結果は、以下のディレクトリーにある koqVerifyPermissions_log にあります。
  • 64 ビットのエージェントの場合は、Agent_home¥TMAITM6_x64¥logs
  • 32 ビットのエージェントの場合は、Agent_home¥TMAITM6¥logs
ここで、Agent_home はエージェント・インストール・ディレクトリーです。

Windows 認証を使用した SQL Server ユーザー ID の作成

Windows
Windows 認証を使用して新しいユーザーを作成し、そのユーザーに必要な役割と権限を割り当てます。

手順

ユーザーを作成するには、以下の手順を実行します。

  1. SQL Server Management Studio で、「オブジェクト エクスプローラー」を開きます。
  2. Server_instance_name>「セキュリティ」>「ログイン」をクリックします。
  3. 「ログイン」を右クリックし、「新規ログイン」を選択します。
  4. 「全般」ページの「ログイン名」フィールドに、Windows ユーザーの名前を入力します。
  5. 「Windows 認証」を選択します。
  6. このユーザーに割り当てる役割と権限に応じて、次のいずれかのタスクを実行します。
    • 「サーバー ロール」ページで、新しいログイン ID に sysadmin 役割を割り当てます。
    • ユーザーに sysadmin 役割を割り当てない場合は、データ収集のための最小限の権限の付与で説明されている手順を実行することで、ユーザーに最小限の権限を付与します。
    重要: デフォルトでは、新しいログイン ID には public 役割が割り当てられます。
  7. 「OK」をクリックします。

タスクの結果

デフォルトの public 役割と、割り当てた権限を持つユーザーが作成され、「ログイン」リストに表示されます。

SQL Server 認証を使用した SQL Server ユーザー ID の作成

LinuxWindows
SQL Server 認証を使用して新しいユーザーを作成し、そのユーザーに必要な役割と権限を割り当てます。

手順

ユーザーを作成するには、以下の手順を実行します。

  1. SQL Server Management Studio で、「オブジェクト エクスプローラー」を開きます。
  2. Server_instance_name>「セキュリティ」>「ログイン」をクリックします。
  3. 「ログイン」を右クリックし、「新規ログイン」を選択します。
  4. 「全般」ページの「ログイン名」フィールドに、新しいユーザーの名前を入力します。
  5. 「SQL Server 認証」を選択します。
  6. 「パスワード」フィールドに、ユーザーのパスワードを入力します。
  7. 「パスワードの確認」フィールドに、「パスワード」フィールドに入力したパスワードを再入力します。
  8. このユーザーに割り当てる役割と権限に応じて、次のいずれかのタスクを実行します。
    • 「サーバー ロール」ページで、新しいログイン ID に sysadmin 役割を割り当てます。
    • ユーザーに sysadmin 役割を割り当てない場合は、データ収集のための最小限の権限の付与で説明されている手順を実行することで、ユーザーに最小限の権限を付与します。
    重要: デフォルトでは、新しいログイン ID には public 役割が割り当てられます。
  9. 「OK」をクリックします。

タスクの結果

デフォルトの public 役割と、割り当てた権限を持つユーザーが作成され、「ログイン」リストに表示されます。

データ収集のための最小限の権限の付与

Windows
デフォルトの public 役割とは別に、エージェントがデータ・セットのデータを収集できるように、sysadmin 役割をユーザーに割り当てるか、最小限の権限をユーザーに付与することができます。

このタスクについて

権限の付与は、ユーザー・インターフェースまたはユーティリティー・ツール permissions.cmd から行えます。

手順

  • ユーザー・インターフェースからユーザーに最小限の権限を付与するには、以下の手順を実行します。
    1. 「サーバー ロール」ページで、public チェック・ボックスが選択されていることを確認します。
    2. 「ユーザー マッピング」ページを開き、モニターするすべてのシステム・データベースとユーザー定義データベースについて、以下のチェック・ボックスを選択します。
      • public
      • db_owner
      msdb データベースの場合は、さらに以下のチェック・ボックスも選択します。
      • db_datareader
      • SQLAgentReaderRole
      • SQLAgentUserRole
    3. 「セキュリティ保護可能なリソース」ページを開き、モニターするサーバー・インスタンスについて、以下のチェック・ボックスを選択します。
      • データベースの状態の表示
      • 定義の表示
      • サーバー状態の表示
  • ユーティリティー・ツール permissions.cmd を使用してユーザーに最小限の権限を付与するには、以下を実行します。
    1. Windows Explorer を起動し、ユーティリティー・ツールの以下のディレクトリー Agent_grant_perm_dir を参照します。
      • 64 ビットのエージェントの場合、Agent_grant_perm_dirAgent_home¥TMAITM6_x64¥scripts¥KOQ¥GrantPermission です。
      • 32 ビットのエージェントの場合、Agent_grant_perm_dirAgent_home¥TMAITM6¥scripts¥KOQ¥GrantPermission です。
      • Agent_home はエージェントのインストール・ディレクトリーです。
      重要: ユーティリティー・ツール permissions.cmd は、デフォルトで、すべてのデータベースに対する db_owner を付与します。特定のデータベースを除外するには、データベース名を Agent_grant_perm_dir¥exclude_database.txt ファイルに追加する必要があります。データベース名は、記号別名 @ で区切る必要があります。
      ヒント: 例えば、データベース MyDatabase1 および MyDatabase2 を除外する場合は、exclude_database.txt ファイルに以下の項目を追加します。
      MyDatabase1@MyDatabase2
    2. permissions.cmd をダブルクリックしてユーティリティー・ツールを起動します。
    3. プロンプトが出されたら、指定するパラメーター値を入力します。
      表 1. パラメーター
      パラメーター 説明
      SQL Server 名または SQL Server インスタンス名 ユーザーに権限を付与する対象のターゲット SQL Server 名またはターゲット SQL Server インスタンス名を入力します。
      既存の SQL Server ユーザーのログオン名 権限を変更するユーザーの名前を入力します。
      権限オプション:

      1 db_owner 権限の付与

      2 db_datareaderSQLAgentReaderRole、および SQLAgentUserRole 権限の付与

      3 すべての必要な権限の付与

      必要に応じて、12、または 3 を入力します。
      権限を付与する対象のユーザー:

      1 現在システムにログオンしているユーザー

      2 別のユーザー

      1 または 2 を入力します。

      2 を選択した場合は、プロンプトで対象ユーザー名を入力します。

      注: ユーザーが他のユーザーに権限を付与するには、アクセス権限が必要です。

次のタスク

エージェントを構成します。

特定のデータ・セットのデータを収集するための Perflib レジストリー・キーへのアクセス権の付与

Windows
少数のデータ・セットのデータを収集するために、ユーザーに Perflib レジストリー・キーへの読み取り権限を付与する必要があります。

このタスクについて

この権限は、エージェント・サービスの構成に使用する Windows ユーザーに付与する必要があります。 Perflib アクセス権がないことにより影響を受けるデータ・セットは、MS SQL データベース詳細、MS SQL メモリー・マネージャー、MS SQL ロック・リソース・タイプ要約、MS SQL ジョブの要約、MS SQL Server トランザクションの要約、MS SQL Server の要約など多数存在します。

手順

Perflib レジストリー・キーへのアクセス権を付与するには、以下の手順を実行します。

  1. レジストリー・エディターを開くために、「スタート」 > 「実行」 > 「Regedit.exe」と入力し、Enter を押します。
  2. HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Perflib レジストリー・キーに進みます。
  3. Perflib キーを右クリックし、「アクセス許可」をクリックします。
  4. 「追加」をクリックし、エージェントのインストールおよび構成に使用する Windows ユーザー名を入力してから、「OK」をクリックします。
  5. 追加したユーザーをクリックします。
  6. チェック・ボックスを選択して、ユーザーに読み取り権限を許可します。
  7. 「適用」をクリックしてから「OK」をクリックします。