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
. 当@enabled0
时,代理未启用,作业步骤不能使用。
[ @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 = ] proxy_id OUTPUT
成功创建代理时分配给代理的代理标识号。
返回代码值
0
(成功)或 1
(失败)。
结果集
无。
注解
必须在数据库中运行 msdb
此存储过程。
SQL Server 代理代理管理涉及 Transact-SQL 子系统以外的子系统的作业步骤的安全性。 每个代理对应于一个安全凭据。 代理可能有权访问任意数量的子系统。
权限
此存储过程由 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