次の方法で共有


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_namesysname で、既定値は NULL です。 @proxy_nameNULLまたは空の文字列の場合、プロキシの名前は既定で指定された@credential_nameまたは@credential_idに設定されます。

[ @enabled = ] is_enabled

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

[ @description = ] '説明'

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

[ @credential_name = ] 'credential_name'

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

[ @credential_id = ] credential_id

プロキシの資格情報の識別番号を指定します。 @credential_idint で、既定値は 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 を使用して、他のログインにプロキシへのアクセス権を付与します。

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

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