REVOKE 可用性组权限 (Transact-SQL)
撤消对 AlwaysOn 可用性组的权限。
适用范围:SQL Server(SQL Server 2012 到当前版本)。 |
语法
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON AVAILABILITY GROUP :: availability_group_name
{ FROM | TO } < server_principal > [ ,...n ]
[ CASCADE ]
[ 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
指定可以撤消的对可用性组的权限。 有关权限的列表,请参阅本主题后面的“备注”部分。ON AVAILABILITY GROUP ::availability_group_name
指定要撤消权限的可用性组。 需要使用作用域限定符 (::)。{ FROM | TO } <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 OPTION
指示要撤消向其他主体授予指定权限的权限。 不会撤消该权限本身。重要提示 如果主体具有不带 GRANT 选项的指定权限,则将撤消该权限本身。
CASCADE
指示要撤消的权限也会从此主体授予或拒绝该权限的其他主体中撤消。重要提示 如果对授予了 WITH GRANT OPTION 权限的权限执行级联撤消,将同时撤消该权限的 GRANT 和 DENY 权限。
AS SQL_Server_login
指定执行此查询的主体要从哪个 SQL Server 登录名派生其撤消该权限的权限。
注释
只有在当前数据库为 master 时,才可撤消其服务器作用域内的权限。
sys.availability_groups (Transact-SQL) 目录视图提供了有关可用性组的信息。 可以在 sys.server_permissions 目录视图中查看服务器权限的有关信息,可以在 sys.server_principals 目录视图中查看服务器主体的有关信息。
可用性组为服务器级安全对象。 下表列出了可撤消的对可用性组最为具体的限定权限,以及隐含这些权限的更为通用的权限。
可用性组权限 |
可用性组权限隐含的权限 |
服务器权限隐含的权限 |
---|---|---|
ALTER |
CONTROL |
ALTER ANY AVAILABILITY GROUP |
CONNECT |
CONTROL |
CONTROL SERVER |
CONTROL |
CONTROL |
CONTROL SERVER |
TAKE OWNERSHIP |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
权限
需要对可用性组的 CONTROL 权限或对服务器的 ALTER ANY AVAILABILTIY GROUP 权限。
示例
A.撤消对可用性组的 VIEW DEFINITION 权限
以下示例从 SQL Server 登录名 ZArifin 撤消对可用性组 MyAg 的 VIEW DEFINITION 权限。
USE master;
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B.使用 CASCADE 撤消 TAKE OWNERSHIP 权限
以下示例从 SQL Server 用户 PKomosinski 以及 PKomosinski 授予对 MyAg 的 TAKE OWNERSHIP 权限的所有主体撤消对可用性组 MyAg 的 TAKE OWNERSHIP 权限。
USE master;
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
C.撤消以前授予的 WITH GRANT OPTION 子句
如果使用 WITH GRANT OPTION 授予了权限,则使用 REVOKE GRANT OPTION FOR … 删除 WITH GRANT OPTION。 以下示例授予权限,然后删除权限的 WITH GRANT 部分。
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE
GO
请参阅
参考
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)