次の方法で共有


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

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 で SQL Server エージェント プロキシを作成する方法について説明します。

SQL Server エージェント プロキシ アカウントは、ジョブ ステップを実行できるセキュリティ コンテキストを定義します。 各プロキシには対応するセキュリティ資格情報が 1 つあります。 特定のジョブ ステップに権限を設定するには、SQL Server エージェント サブシステムに必要な権限のあるプロキシを作成し、このプロキシをジョブ ステップに割り当てます。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

  • SQL Server エージェント プロキシを作成する方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

  • 資格情報を用意していない場合は、プロキシを作成する前に、まず資格情報を作成する必要があります。

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

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

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

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

セキュリティ

権限

  • sysadmin 固定サーバー ロールのメンバーだけに、プロキシ アカウントを作成、変更、または削除できる権限があります。 固定サーバー ロール sysadmin のメンバーではないユーザーは、msdb データベースの SQL Server エージェント固定データベース ロールである SQLAgentUserRoleSQLAgentReaderRole、または SQLAgentOperatorRole のいずれかに追加されないと、プロキシを使用できません。

  • プロキシに加えて資格情報を作成する場合は、ALTER ANY CREDENTIAL 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

SQL Server エージェント プロキシを作成するには

  1. オブジェクト エクスプ ローラーで、SQL Server エージェント プロキシを作成するサーバーをプラス記号をクリックして展開します。

  2. プラス記号をクリックして [SQL Server エージェント] を展開します。

  3. [プロキシ] フォルダーを右クリックし、[新しいプロキシ] をクリックします。

  4. [新しいプロキシ アカウント] ダイアログ ボックスの [全般] ページで、[プロキシ名] ボックスにプロキシ アカウントの名前を入力します。

  5. [資格情報名] ボックスに、プロキシ アカウントが使用するセキュリティ資格情報の名前を入力します。

  6. [説明] ボックスに、プロキシ アカウントの説明を入力します。

  7. [以下のサブシステムに対してアクティブ] から、このプロキシ用の適切なサブシステムを選択します (複数選択可能)。

  8. [プリンシパル] ページで、プロキシ アカウントへのアクセスを許可するログインまたはロールを追加するか、あるいは拒否するログインまたはロールを削除します。

  9. 完了したら、[OK] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

SQL Server エージェント プロキシを作成するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    -- creates credential CatalogApplicationCredential
    USE msdb ;
    GO
    CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser', 
        SECRET = 'G3$1o)lkJ8HNd!';
    GO
    -- creates proxy "Catalog application proxy" and assigns the credential 'CatalogApplicationCredential' to it.
    EXEC dbo.sp_add_proxy
        @proxy_name = 'Catalog application proxy',
        @enabled = 1,
        @description = 'Maintenance tasks on catalog application.',
        @credential_name = 'CatalogApplicationCredential' ;
    GO
    -- grants the proxy "Catalog application proxy" access to the ActiveX Scripting subsystem.
    EXEC dbo.sp_grant_proxy_to_subsystem
        @proxy_name = N'Catalog application proxy',
        @subsystem_id = 2 ;
    GO
    

詳細については、以下のトピックを参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]