次の方法で共有


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

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

  • 組み込みのアカウント。 次の組み込みの Windows サービス アカウントの一覧から選択できます。

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

      重要

      ローカル システム アカウント オプションは、下位互換性のためにのみ提供されます。 ローカル システム アカウントには、SQL Server エージェントが必要としないアクセス許可があります。 ローカル システム アカウントとして SQL Server エージェントを実行しないでください。 セキュリティを強化するために、次のセクション「Windows ドメイン アカウントのアクセス許可」に記載されているアクセス許可を持つ Windows ドメイン アカウントを使用します。

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

Windows ドメイン アカウントのアクセス許可

セキュリティを強化するためには、Windows ドメイン アカウントを指定する [このアカウント] を選択してください。 指定する Windows ドメイン アカウントには、次のアクセス許可が必要です。

  • すべての Windows バージョンで、サービスとしてログオンするためのアクセス許可 (SeServiceLogonRight)

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

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

    • 走査チェックをバイパスするアクセス許可 (SeChangeNotifyPrivilege)

    • プロセス レベルのトークンを置き換えるアクセス許可 (SeAssignPrimaryTokenPrivilege)

    • プロセスのメモリ クォータを調整するアクセス許可 (SeIncreaseQuotaPrivilege)

    • バッチ ログオンの種類を使用してログオンするアクセス許可 (SeBatchLogonRight)

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

WMI アラート通知を受信するには、SQL Server エージェントのサービス アカウントに、WMI イベントと ALTER ANY EVENT NOTIFICATION を含む名前空間へのアクセス許可が付与されている必要があります。

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

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

  • このアカウントは、 sysadmin 固定サーバー ロールのメンバーである必要があります。

  • マルチサーバー ジョブ処理を使用するには、アカウントがマスター サーバー上の msdb データベース ロール TargetServersRole のメンバーである必要があります。

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

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

サービス アカウントの種類 非クラスター化サーバー クラスター化されたサーバー ドメイン コントローラー (非クラスター化)
Microsoft Windows ドメイン アカウント (Windows Administrators グループのメンバー) サポートされています サポートされています サポートされています
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> のエージェントのスタートアップ アカウントに、targetServer としてログオンする権限があることを確認してください。"

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

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

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

これを解決するには、SQL Server が実行されているコンピューターを再起動します。 これは 1 回だけ行う必要があります。

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

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

これを解決するには、SQL Server が実行されているコンピューターを再起動し、SQL Server サービスと SQL Server エージェント サービスの両方を再起動します。 これは 1 回だけ行う必要があります。

一般的なタスク

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

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

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

こちらもご覧ください

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