撤銷可用性群組權限 (Transact-SQL)
適用於:Microsoft Fabric 中的 SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體 SQL 資料庫
撤銷 AlwaysOn 可用性群組的權限。
語法
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 AVAILABILITY 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
對可用性群組 MyAg
的 TAKE OWNERSHIP
權限,並從 PKomosinski
對其授與 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
另請參閱
授與可用性群組權限 (Transact-SQL)
拒絕可用性群組權限 (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Always On 可用性群組目錄檢視 (Transact-SQL)
權限 (資料庫引擎)
主體 (資料庫引擎)