sp_add_proxy (Transact-SQL)
適用対象: SQL Server
指定したSQL Server エージェント プロキシを追加します。
構文
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
です。 @enabledが0
されている場合、プロキシは有効ではなく、ジョブ ステップでは使用できません。
[ @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 を使用して、他のログインにプロキシへのアクセス権を付与します。
例
この例では、資格情報 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