sp_grant_login_to_proxy (Transact-SQL)

适用范围:SQL Server

授予安全主体数据库访问代理的权限。

Transact-SQL 语法约定

语法

sp_grant_login_to_proxy
    [ [ @login_name = ] N'login_name' ]
    [ , [ @fixed_server_role = ] N'fixed_server_role' ]
    [ , [ @msdb_role = ] N'msdb_role' ]
    [ , [ @proxy_id = ] proxy_id ]
    [ , [ @proxy_name = ] N'proxy_name' ]
[ ; ]

参数

[ @login_name = ] N'login_name'

被授予访问权限的登录名。 @login_name为 nvarchar(256),默认值为 NULL.

必须指定@login_name@fixed_server_role@msdb_role之一,或者存储过程失败。

[ @fixed_server_role = ] N'fixed_server_role'

被授予访问权限的固定服务器角色。 @fixed_server_role为 nvarchar(256),默认值为 NULL.

必须指定@login_name@fixed_server_role@msdb_role之一,或者存储过程失败。

[ @msdb_role = ] N'msdb_role'

要向其授予访问权限的数据库 msdb 数据库中的数据库角色。 @msdb_role为 nvarchar(256),默认值为 NULL.

必须指定@login_name@fixed_server_role@msdb_role之一,或者存储过程失败。

[ @proxy_id = ] proxy_id

访问权限被授予的代理的标识符。 @proxy_id为 int,默认值为 NULL.

必须指定@proxy_id@proxy_name之一,否则存储过程将失败。

[ @proxy_name = ] N'proxy_name'

要授予访问权限的代理的名称。 @proxy_name为 sysname,默认值为 NULL.

必须指定@proxy_id@proxy_name之一,否则存储过程将失败。

返回代码值

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

注解

sp_grant_login_to_proxy 必须从 msdb 数据库运行。

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

示例

以下示例允许登录 adventure-works\terrid 名使用代理 Catalog application proxy

USE msdb;
GO

EXEC dbo.sp_grant_login_to_proxy
    @login_name = N'adventure-works\terrid',
    @proxy_name = N'Catalog application proxy';
GO