适用范围:SQL Server
授予对 Always On 可用性组的权限。
语法
GRANT permission [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name
TO < server_principal > [ ,...n ]
[ WITH GRANT OPTION ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
参数
permission
指定可以授予的对可用性组的权限。 有关权限的列表,请参阅本主题后面的“备注”部分。
开启 AVAILABILITY GROUP::availability_group_name
指定要授予权限的可用性组。 需要使用作用域限定符 (::)。
server_principal <>
指定要对其授予权限的 SQL Server 登录名。
SQL_Server_login
指定 SQL Server 登录帐户的名称。
SQL_Server_login_from_Windows_login
指定通过 Windows 登录帐户创建的 SQL Server 登录帐户的名称。
SQL_Server_login_from_certificate
指定映射到证书的 SQL Server 登录帐户的名称。
SQL_Server_login_from_AsymKey
指定映射到非对称密钥的 SQL Server 登录帐户的名称。
附 GRANT 选项
指示该主体还可以向其他主体授予所指定的权限。
AS SQL_Server_login
指定执行此查询的主体要从哪个 SQL Server 登录名派生其授予该权限的权限。
备注
只有在当前数据库为 master 时,才可授予其服务器作用域内的权限。
可以在 sys.availability_groups (Transact-SQL) 目录视图中查看可用性组的相关信息。 可以在 sys.server_permissions 目录视图中查看服务器权限的相关信息,在 sys.server_principals 目录视图中查看服务器主体的相关信息。
可用性组为服务器级安全对象。 下表列出了可授予的对可用性组最为具体的限定权限,以及隐含这些权限的更为通用的权限。
| 可用性组权限 | 可用性组权限隐含的权限 | 服务器权限隐含的权限 |
|---|---|---|
| ALTER | CONTROL | 更改任意 AVAILABILITY GROUP |
| CONNECT | CONTROL | 控制服务器 |
| CONTROL | CONTROL | 控制服务器 |
| 获得所有权 | CONTROL | 控制服务器 |
| VIEW 定义 | CONTROL | VIEW 任何定义 |
有关所有数据库引擎权限的图表,请参阅数据库引擎权限招贴。
权限
需要对可用性组的CONTROL权限,或服务器上的任何 AVAILABILITY GROUP 权限更改。
示例
A. 授予 VIEW 可用性组的定义权限
以下示例将对可用性组 VIEW DEFINITION 的 MyAg 权限授予 SQL Server 登录名 ZArifin。
USE master;
GRANT VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B. 授予带有 GRANT OPTION的TAKE OWNERSHIP许可
以下示例使用 TAKE OWNERSHIP,将对可用性组 MyAg 的 PKomosinski 权限授予 SQL Server 用户 GRANT OPTION。
USE master;
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
C. 授予对可用性组的 CONTROL 权限
以下示例将对可用性组 CONTROL 的 MyAg 权限授予 SQL Server 用户 PKomosinski。 CONTROL 允许登录名完全控制可用性组,即使它们不是可用性组的所有者。 要更改所有权,请参见 ALTER AUTHORIZATION (Transact-SQL)。
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;
GO
另请参阅
REVOKE 可用性组权限(Transact-SQL)
DENY 可用性组权限(Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups(Transact-SQL)
Always On 可用性组目录视图 (Transact-SQL)权限(数据库引擎)
主体(数据库引擎)