SQL Server エージェント サービスのアカウントを選択する
適用対象:SQL Server
Azure SQL Managed Instance
大事な
Azure SQL Managed Instance では、SQL Server エージェントのほとんどの機能が現在サポートされているわけではありません。 詳細については、Azure SQL Managed Instance の T-SQL と SQL Server の違いの を参照してください。
サービス スタートアップ アカウントは、SQL Server エージェントが実行される Microsoft Windows アカウントとそのネットワーク アクセス許可を定義します。 SQL Server エージェントは、指定されたユーザー アカウントとして実行されます。 SQL Server 構成マネージャーを使用して SQL Server エージェント サービスのアカウントを選択します。ここでは、次のオプションから選択できます。
組み込みのアカウント。 次の組み込みの Windows サービス アカウントの一覧から選択できます。
- ローカル システム アカウント。 このアカウントの名前は NT AUTHORITY\System です。 これは、すべてのローカル システム リソースに無制限にアクセスできる強力なアカウントです。 これは、ローカル コンピューター上の Windows Administrators グループのメンバーです。
大事な
ローカル システム アカウント オプションは、下位互換性のためにのみ提供されます。 ローカル システム アカウントには、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
) - ネットワークからこのコンピューターにアクセスするためのアクセス許可 (
SeNetworkLogonRight
)
- トラバース チェックをバイパスする権限 (
アカウントにプロキシをサポートするために必要なアクセス許可がない場合は、固定サーバー ロール sysadmin のメンバーのみがジョブを作成できます。
Windows Management Instrumentation (WMI) アラート通知を受信するには、SQL Server エージェントのサービス アカウントに、WMI イベントを含む名前空間へのアクセス許可と ALTER ANY EVENT NOTIFICATION
が付与されている必要があります。
SQL Server ロールのメンバーシップ
既定では、SQL Server エージェント サービス アカウントは、sysadmin 固定サーバー ロールのメンバーである既定の SQL Server エージェント サービス SID (NT SERVICE\SQLSERVERAGENT
) にマップされます。 マルチサーバー ジョブ処理を使用する場合は、マスター サーバー上の TargetServersRole msdb
データベース ロールのメンバーである必要もあります。 マスター サーバー ウィザードは、参加プロセスの一環として、このロールにサービス アカウントを自動的に追加します。
サポートされているサービス アカウントの種類
次の表に、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: マルチサーバー管理に管理以外のアカウントを使用する
ターゲット サーバーをマスター サーバーに参加させると、次のエラー メッセージが表示され、失敗する場合があります: The enlist operation failed.
このエラーを解決するには、SQL Server サービスと SQL Server エージェント サービスの両方を再起動します。 詳細については、「SQL Server サービスの開始、停止、一時停止、再開、再起動」を参照してください。
制限 2: マルチサーバー管理にローカル システム アカウントを使用する
マルチサーバー管理は、マスター サーバーとターゲット サーバーの両方が同じコンピューター上にある場合にのみ、ローカル システム アカウントで SQL Server エージェント サービスを実行する場合にサポートされます。 この構成を使用すると、ターゲット サーバーをマスター サーバーに参加させると、次のメッセージが返されます。
Ensure the agent start-up account for <target_server_computer_name> has rights to log on as 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 Configuration Manager) のサービス スタートアップ アカウントを設定する
データベース メール を使用するように SQL Server エージェント メールを構成する
SQL Server 構成マネージャーを使用して、オペレーティング システムの起動時に SQL Server エージェントを起動する必要があることを指定します。