次の方法で共有


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

サービス開始アカウントにより、SQL Server エージェントを実行する Microsoft Windows アカウントとそのネットワーク アクセス許可が定義されます。 SQL Server エージェントは、指定されたユーザー アカウントで実行されます。 SQL Server 構成マネージャーを使用して、SQL Server エージェント サービスのアカウントを選択します。構成マネージャーでは、次のオプションから選択できます。

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

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

      重要

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

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

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

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

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

Note

SQL Server エージェント サービス アカウントは、ドメイン コントローラーの Windows 2000 互換アクセス前グループの一部である必要があります。または、Windows Administrators グループのメンバーではないドメイン ユーザーが所有するジョブは失敗します。

  • Windows サーバーでは、SQL Server エージェント サービスが実行するアカウントには、SQL Server エージェント プロキシをサポートできるようにするために、次のアクセス許可が必要です。

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

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

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

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

Note

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

Note

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

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

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

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

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

サポートされるサービス アカウントの種類

以下の表に、SQL Server エージェント サービスで使用できる Windows アカウントの種類を示します。

サービス アカウントの種類 非クラスター化サーバー クラスター化サーバー ドメイン コントローラー (非クラスター化)
Microsoft Windows ドメイン アカウント (Windows 管理者グループのメンバー) サポートされています サポートされています サポートされています
Windows ドメイン アカウント (管理者以外) サポート1 サポート1 サポート1
ネットワーク サービス アカウント (NT AUTHORITY\NetworkService) サポートされる1、3、4 サポートされていません サポートされていません
ローカル ユーザー アカウント (管理者以外) サポート1 サポートされていません 適用なし
ローカル システム アカウント (NT AUTHORITY\System) サポート対象2 サポートされていません サポート対象2
ローカル サービス アカウント (NT AUTHORITY\LocalService) サポートされていません サポートされていません サポートされていません

1 下記の 「制限事項 1」を参照してください。

2 以下の制限 2 を参照してください。

3 以下の「制限事項 3」を参照してください。

4 以下の制限 4 を参照してください。

制限事項 1 : マルチサーバー管理での非管理者アカウントの使用

ターゲット サーバーをマスター サーバーに参加させると、"参加操作に失敗しました" というエラー メッセージが表示されることがあります。

このエラーを解決するには、SQL Server と SQL Server エージェント サービスの両方を再起動します。 詳細については、「 データベース エンジン、SQL Server エージェント、SQL Server Browser サービスの開始、停止、一時停止、再開、および再起動 」を参照してください。

制限事項 2 : マルチサーバー管理でのローカル システム アカウントの使用

マルチサーバー管理は、SQL Server エージェント サービスがローカル システム アカウントで実行されるとき、同じコンピューター上にマスター サーバーとターゲット サーバーの両方が存在する場合にのみサポートされます。 この構成を使用している場合に、ターゲット サーバーをマスター サーバーに参加させると、次のメッセージが返されます。

"<target_server_computer_name> のエージェント開始アカウントに対象サーバーとしてのログオン権限があることを確認します"

情報提供を目的としたこのメッセージは無視できます。 参加操作は、正常に完了します。 詳細については、「 マルチサーバー環境の作成」を参照してください。

制限事項 3 : SQL Server ユーザーであるネットワーク サービス アカウントの使用

SQL Server エージェント サービスをネットワーク サービス アカウントで実行する場合、SQL Server インスタンスに SQL Server ユーザーとしてログインするアクセス権がそのネットワーク サービス アカウントに明示的に与えられていると、SQL Server エージェントが起動しないことがあります。

これを解決するには、SQL Server が実行されているコンピューターを再起動します。 これは一度実行するだけで済みます。

制限事項 4 : SQL Server Reporting Services が同じコンピューターで実行されている場合のネットワーク サービス アカウントの使用

SQL Server エージェント サービスをネットワーク サービス アカウントで実行する場合、同じコンピューターで Reporting Services も動作していると、SQL Server エージェントが起動しないことがあります。

これを解決するには、SQL Server を実行しているコンピューターを再起動してから、SQL Server と SQL Server エージェント サービスの両方を再起動します。 これは一度実行するだけで済みます。

一般的なタスク

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

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

Note

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

参照

Windows サービス アカウントと権限の構成
サービスの管理方法に関するトピック (SQL Server 構成マネージャー)
SQL Server エージェントのセキュリティの実装