sp_add_proxy (Transact-SQL)

适用于:SQL Server

添加指定的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_namesysname,默认值为 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_namesysname,默认值为 NULL。 必须指定 @credential_name@credential_id

[ @credential_id = ] credential_id

代理帐户的标识号。 @credential_idint,默认值为 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 (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

另请参阅