SQL Server エージェント プロキシの作成

SQL Server エージェント プロキシでは、ジョブ ステップのセキュリティ コンテキストを定義します。プロキシを使用して、SQL Server エージェントから Microsoft Windows ユーザーのセキュリティ資格情報にアクセスできます。各プロキシは 1 つ以上のサブシステムに関連付けることができます。プロキシを使用するジョブ ステップからは、その Windows ユーザーのセキュリティ コンテキストを使用して、指定されているサブシステムにアクセスできます。SQL Server エージェントは、プロキシを使用するジョブ ステップの実行に先立って、プロキシに定義されている資格情報の権限を借用し、そのセキュリティ コンテキストを使用してジョブ ステップを実行します。

注意

Microsoft SQL Server 2000 からアップグレードすると、アップグレード前に存在していたすべてのユーザー プロキシ アカウントが、一時的なグローバル プロキシ アカウントである UpgradedProxyAccount に変更されます。UpgradedProxyAccount には、明示的に使用されていたサブシステムへのアクセスのみが許可されます。アップグレード後のすべてのサブシステムにアクセスできるわけではありません。

SQL Server エージェント プロキシについて

注意

Transact-SQL を実行するジョブ ステップでは SQL Server エージェント プロキシが使用されません。Transact-SQL ジョブ ステップは、ジョブ所有者のセキュリティ コンテキストで実行されます。Transact-SQL ジョブ ステップのセキュリティ コンテキストを設定するには、sp_add_jobstep ストアド プロシージャで database_user_name パラメータを使用します。詳細については、「sp_add_jobstep (Transact-SQL)」を参照してください。

SQL Server エージェント プロキシは、資格情報を使用して Windows ユーザー アカウントに関する情報を格納します。資格情報で指定されているユーザーには、SQL Server を実行しているコンピュータで "バッチ ジョブとしてログオン" するためのアクセス許可が必要です。

SQL Server エージェントは、ジョブ ステップを実行するごとに、プロキシからサブシステムへのアクセス許可を確認し、アクセスを確立します。プロキシにサブシステムへのアクセス許可がない場合、ジョブ ステップは失敗します。プロキシにアクセス許可がある場合、SQL Server エージェントはプロキシで指定されているユーザーの権限を借用してジョブ ステップを実行します。

プロキシを作成しても、そのプロキシの資格情報で指定したユーザーの権限は変更されません。たとえば、SQL Server のインスタンスに接続する権限を持たないユーザーのプロキシを作成できます。この場合、このプロキシを使用するジョブ ステップから SQL Server に接続することはできません。

ユーザーがジョブ ステップでプロキシを使用するには、そのプロキシへのアクセス許可が必要です。アクセス許可は、次の 3 種類のセキュリティ プリンシパルに与えることができます。

  • SQL Server ログイン

  • サーバー ロール

  • msdb データベース内のロール

ユーザーのログインにプロキシへのアクセス許可がある場合、またはプロキシへのアクセス許可のあるロールにユーザーが属している場合、このユーザーはジョブ ステップでプロキシを使用できます。

注意

sysadmin 固定サーバー ロールのメンバは、インスタンス内のすべてのプロキシにアクセスできます。

次のセクションに、プロキシを使用する一般的なタスクへのリンクを示します。