sp_add_proxy (Transact-SQL)

指定した 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 または空文字列の場合は、指定された user_name が既定のプロキシ名になります。

  • [ @enabled = ] is_enabled
    プロキシが有効かどうかを指定します。is_enabled のデータ型は tinyint で、既定値は 1 です。is_enabled が 0 の場合、プロキシは有効でなく、ジョブ ステップで使用できません。

  • [ @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= ] id OUTPUT
    プロキシの作成が成功したときにプロキシに割り当てられる、プロキシ識別番号です。

戻り値

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

結果セット

なし

説明

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

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

権限

このプロシージャを実行できるのは、sysadmin 固定セキュリティ ロールのメンバだけです。

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