Share via


SQL Server エージェント サービスのアカウントの選択

サービス開始アカウントにより、SQL Server エージェントを実行する Microsoft Windows アカウントとそのネットワーク権限が定義されます。SQL Server エージェントは、指定されたユーザー アカウントで実行されます。以前のバージョンの SQL Server との互換性のために、ローカル システム アカウントとしても SQL Server エージェントを実行できます。

SQL Server 構成マネージャを使用して、SQL Server エージェント サービスのアカウントを選択します。構成マネージャでは、次のオプションから選択できます。

  • [ビルトイン アカウント]。次のビルトイン Windows サービス アカウントの一覧から選択できます。

    • [ローカル システム] アカウント。このアカウントの名前は NT AUTHORITY\System です。これは、すべてのローカル システム リソースに無制限にアクセスできる強力なアカウントです。これは、ローカル コンピュータの Windows Administrators グループのメンバです。つまり SQL Serversysadmin 固定サーバー ロールのメンバです。

      セキュリティに関する注意セキュリティに関する注意

      [ローカル システム アカウント] オプションは、旧バージョンとの互換性のためだけに用意されています。ローカル システム アカウントには、SQL Server エージェントが必要としない権限があります。ローカル システム アカウントとして SQL Server エージェントを実行するのは避けてください。セキュリティを強化するには、次の「Windows ドメイン アカウントの権限」に示す権限のある Windows ドメイン アカウントを使用します。

    • [ネットワーク サービス] アカウント。このアカウントの名前は NT AUTHORITY\NetworkService です。Microsoft Windows XP および Microsoft Windows Server 2003 で使用できます。[ネットワーク サービス] アカウントで実行するすべてのサービスは、ネットワーク リソースに対してローカル コンピュータとして認証されます。

      セキュリティに関する注意セキュリティに関する注意

      複数のサービスが [ネットワーク サービス] アカウントを使用できるため、SQL Server データベースを含むネットワーク リソースへのアクセス権をどのサービスが持つのかを制御するのは困難です。SQL Server エージェント サービスには、[ネットワーク サービス] アカウントを使用しないことをお勧めします。

      重要な注意事項重要

      [ローカル サービス] アカウントは選択しないでください。SQL Server エージェント サービスを [ローカル サービス] アカウントで実行することはできません。[ローカル サービス] アカウントでの実行はサポートされません。このアカウントの名前は NT AUTHORITY\LocalService であり、このアカウントは資格情報のない NULL セッションとしてネットワーク リソースにアクセスします。Microsoft Windows XP および Microsoft Windows Server 2003 で使用できます。

  • [このアカウント]。SQL Server エージェント サービスを実行する Windows ドメイン アカウントを指定します。Windows Administrators グループのメンバではない Windows ユーザー アカウントを選択することをお勧めします。ただし、SQL Server エージェント サービス アカウントがローカル Administrators グループのメンバではない場合、マルチサーバー管理の使用には制限があります。詳細については、「SQL Server エージェントでサポートされるサービス アカウントの種類」を参照してください。

さまざまな種類のサービス アカウントに対してサポートされる SQL Server エージェントの機能の詳細については、「SQL Server エージェントでサポートされるサービス アカウントの種類」を参照してください。

Windows ドメイン アカウントの権限

セキュリティを強化するには、[このアカウント] を選択して、Windows ドメイン アカウントを指定します。指定する Windows ドメイン アカウントは、次の権限を所持している必要があります。

  • すべてのバージョンの Windows で、サービスとしてログオンする権限 (SeServiceLogonRight)。
注意

SQL Server エージェント サービス アカウントは、ドメイン コントローラの Pre-Windows 2000 Compatible Access グループに所属している必要があります。このグループに所属していないと、Windows Administrators グループのメンバ以外のドメイン ユーザーが所有するジョブが失敗します。

  • Windows サーバーでは、SQL Server エージェント プロキシをサポートできるように、SQL Server エージェント サービスを実行しているアカウントに次の権限が必要になります。

    • オペレーティング システムの一部として動作する権限 (SeTcbPrivilege) (Windows 2000 でのみ)

    • スキャン チェックをバイパスする権限 (SeChangeNotifyPrivilege)

    • プロセス レベル トークンを置き換える権限 (SeAssignPrimaryTokenPrivilege)

    • プロセスに対してメモリ クォータを調整する権限 (SeIncreaseQuotaPrivilege)

    • バッチ ログオンの種類を使用してログオンする権限 (SeBatchLogonRight)

注意

アカウントにプロキシのサポートに必要な権限がない場合は、sysadmin 固定サーバー ロールのメンバのみがジョブを作成できます。

注意

WMI 警告の通知を受信するには、SQL Server エージェントのサービス アカウントに、WMI イベントを含む名前空間、および ALTER ANY EVENT NOTIFICATION に対する権限が許可されている必要があります。

SQL Server ロールのメンバシップ

SQL Server エージェント サービスを実行するアカウントは、次の SQL Server ロールのメンバである必要があります。

  • アカウントは、sysadmin 固定サーバー ロールのメンバでなければなりません。

  • マルチサーバー ジョブの処理を使用するには、アカウントはマスタ サーバーの msdb データベースの TargetServersRole ロールのメンバでなければなりません。

Windows グループのメンバシップ

  • SQL Server エージェント サービスを実行するアカウントは、次の Windows グループのメンバでなければなりません。

  • Administrators グループのメンバ以外のユーザーがジョブを実行するには、アカウントがドメイン コントローラの Pre-Windows 2000 Compatible Access グループのメンバである必要があります。

    セキュリティに関する注意セキュリティに関する注意

    セキュリティを強化するには、SQL Server エージェント サービス アカウントをローカルの Administrators グループのメンバ以外にする必要があります。ただし、SQL Server エージェント サービス アカウントがローカルの Administrators グループのメンバではない場合、マルチサーバー管理の使用には制限があります。詳細については、「SQL Server エージェントでサポートされるサービス アカウントの種類」を参照してください。

一般的なタスク

SQL Server エージェント サービスの開始アカウントを指定するには

SQL Server エージェントのメール プロファイルを指定するには

注意

SQL Server 構成マネージャを使用して、オペレーティング システムを起動するときに、SQL Server エージェントを開始する必要があることを指定します。