sp_add_proxy (Transact-SQL)

適用対象:SQL Server

指定したSQL Server エージェント プロキシを追加します。

Transact-SQL 構文表記規則

構文

sp_add_proxy
    [ @proxy_name = ] 'proxy_name'
    , [ @enabled = ] is_enabled
    , [ @description = ] 'description'
    , [ @credential_name = ] 'credential_name'
    , [ @credential_id = ] credential_id
    , [ @proxy_id = ] id OUTPUT
[ ; ]

引数

[ @proxy_name = ] 'proxy_name'

作成するプロキシの名前。 @proxy_nameは sysname で、既定値は NULL. @proxy_nameが NULL または空の文字列の場合、プロキシの名前は既定で指定された@credential_nameまたは@credential_idになります。

[ @enabled = ] is_enabled

プロキシが有効かどうかを指定します。 @enabled フラグは tinyint で、既定値は 1. @enabled0場合、プロキシは有効ではなく、ジョブ ステップでは使用できません。

[ @description = ] 'description'

プロキシの説明を指定します。 説明は nvarchar(512) で、既定値は NULL. この説明ではプロキシを文書化できますが、SQL Server エージェントでは使用されません。 したがって、この引数は省略可能です。

[ @credential_name = ] 'credential_name'

プロキシの資格情報の名前を指定します。 @credential_nameは sysname で、既定値は NULL. @credential_nameまたは@credential_id指定する必要があります。

[ @credential_id = ] credential_id

プロキシの資格情報の識別番号を指定します。 @credential_idは int で、既定値は NULL. @credential_nameまたは@credential_id指定する必要があります。

[ @proxy_id = ] proxy_id OUTPUT

プロキシの作成が成功したときにプロキシに割り当てられる、プロキシ識別番号です。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

ありません。

解説

このストアド プロシージャは、データベースで実行する msdb 必要があります。

SQL Server エージェント プロキシは、Transact-SQL サブシステム以外のサブシステムを含むジョブ ステップのセキュリティを管理します。 各プロキシには対応するセキュリティ資格情報が 1 つあります。 プロキシは、任意の数のサブシステムにアクセスする可能性があります。

アクセス許可

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

sysadmin 固定セキュリティ ロールのメンバーは、任意のプロキシを使用するジョブ ステップを作成できます。 ストアド プロシージャ sp_grant_login_to_proxy (Transact-SQL) を使用して、他のログインにプロキシへのアクセスを許可します。

この例では、資格情報のプロキシを作成します CatalogApplicationCredential。 このコードでは、資格情報が既に存在することを前提としています。 資格情報の詳細については、「CREATE CREDENTIAL (Transact-SQL)」を参照してください

USE msdb;
GO

EXEC dbo.sp_add_proxy
    @proxy_name = 'Catalog application proxy',
    @enabled = 1,
    @description = 'Maintenance tasks on catalog application.',
    @credential_name = 'CatalogApplicationCredential';
GO