Share via


sp_add_proxy (Transact-SQL)

加入指定的 SQL Server Agent Proxy。

主題連結圖示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 名稱。proxy_name 是 sysname,預設值是 NULL。當 proxy_name 是 NULL 或空字串時,Proxy 名稱預設為所提供的 user_name。

  • [@enabled = ] is_enabled
    指定是否啟用 Proxy。is_enabled 旗標是 tinyint,預設值是 1。當 is_enabled 是 0 時,不會啟用 Proxy,作業步驟無法使用它。

  • [@description = ] 'description'
    Proxy 的描述。這項描述是 nvarchar(512),預設值是 NULL。您可以利用這項描述來建立 Proxy 的文件,但並不供 SQL Server Agent 使用。因此,這個引數是選擇性的。

  • [@credential_name = ] 'credential_name'
    Proxy 的認證名稱。credential_name 是 sysname,預設值是 NULL。您必須指定 credential_name 或 credential_id 其中之一。

  • [@credential_id = ] credential_id
    Proxy 的認證識別碼。credential_id 是 int,預設值是 NULL。您必須指定 credential_name 或 credential_id 其中之一。

  • [@proxy_id= ] id OUTPUT
    如果 Proxy 建立成功時,便指派給 Proxy 的 Proxy 識別碼。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

這個預存程序必須在 msdb 資料庫中執行。

SQL Server Agent Proxy 會管理包含非 Transact-SQL 子系統之作業步驟的安全性。每個 Proxy 都對應於一個安全性認證。Proxy 可能會有任意數目之子系統的存取權。

權限

只有系統管理員 (sysadmin) 固定安全性角色的成員,才能夠執行這個程序。

系統管理員 (sysadmin) 固定安全性角色的成員可以建立使用任何 Proxy 的作業步驟。請利用 sp_grant_login_to_proxy (Transact-SQL) 預存程序,將 Proxy 的存取權授與其他登入項。

範例

這個範例會建立 CatalogApplicationCredential 認證的 Proxy。程式碼假設認證已經存在。如需有關認證的詳細資訊,請參閱<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