sp_add_proxy (Transact-SQL)
適用於:SQL Server
加入指定的 SQL Server Agent Proxy。
語法
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 的名稱預設為提供的@credential_name或@credential_id。
[ @enabled = ] is_enabled
指定是否啟用 Proxy。 @enabled旗標為 tinyint,預設值為 1
。 當 @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 = ] 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