分享方式:


sp_add_proxy (Transact-SQL)

適用於:SQL Server

加入指定的 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_nameNULL 或空字串時,Proxy 的名稱預設為提供的@credential_name@credential_id

[ @enabled = ] is_enabled

指定是否啟用 Proxy。 @enabled旗標為 tinyint,預設值為 1。 當 @enabled0,不會啟用 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 = ] proxy_id OUTPUT

成功建立時,指派給 Proxy 的 Proxy 識別符。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

無。

備註

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

SQL Server Agent Proxy 會管理涉及 Transact-SQL 子系統以外的子系統之作業步驟的安全性。 每個 Proxy 都對應於一個安全性認證。 Proxy 可以存取任意數目的子系統。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

系統管理員固定安全性角色的成員可以建立使用任何 Proxy 的作業步驟。 使用預存程式 sp_grant_login_to_proxy 授與其他登入 Proxy 的存取權。

範例

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