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 エージェント サービス アカウントは、ドメイン コントローラーの Pre-Windows 2000 Compatible Access グループに所属している必要があります。このグループに所属していないと、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> のエージェント開始アカウントに対象サーバーとしてのログオン権限があることを確認します"
情報提供を目的としたこのメッセージは無視できます。 参加操作は、正常に完了します。 詳細については、「マルチサーバー環境の作成」を参照してください。
制限事項 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 エージェントのメール プロファイルを指定するには
注 |
---|
SQL Server 構成マネージャーを使用して、オペレーティング システムを起動するときに、SQL Server エージェントを開始する必要があることを指定します。 |