REVOKE 伺服器主體權限 (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
撤銷授與或拒絕的 SQL Server 登入權限。
語法
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
{ 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
| server_role
引數
permission
指定可以撤銷 SQL Server 登入的權限。 如需權限清單,請參閱這個主題稍後的「備註」一節。
LOGIN :: SQL_Server_login
指定要撤銷其權限的 SQL Server 登入。 範圍限定詞 ( :: ) 是必要項。
伺服器角色 :: server_role
指定要撤銷其權限的伺服器角色。 範圍限定詞 ( :: ) 是必要項。
{ 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 登入名稱。
server_role
指定使用者定義伺服器角色的名稱。
GRANT OPTION
指出會撤銷對其他主體授與指定權限的權限。 不會撤銷權限本身。
重要
如果主體有不含 GRANT 選項的指定權限,則會撤銷權限本身。
CASCADE
指出目前正在撤銷的權限,而這個權限也會被這個主體所授與或拒絕的其他主體所撤銷。
警告
獲得授與 WITH GRANT OPTION 之權限的串聯撤銷,會同時撤銷該權限的 GRANT 和 DENY。
AS SQL_Server_login
指定 SQL Server 登入,執行這項查詢的主體會從這項登入衍生其權限來撤銷權限。
備註
SQL Server 登入和伺服器角色是伺服器層級安全性實體。 下表所列的是可以撤銷的最特定和最有限 SQL Server 登入或伺服器角色權限,並列出利用隱含方式來併入這些權限的較通用權限。
SQL Server 登入或伺服器角色權限 | SQL Server 登入或伺服器角色權限所隱含 | 伺服器權限所隱含 |
---|---|---|
CONTROL | CONTROL | CONTROL SERVER |
IMPERSONATE | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
ALTER | CONTROL | ALTER ANY LOGIN ALTER ANY SERVER ROLE |
權限
對於登入,需要登入的 CONTROL 權限或伺服器的 ALTER ANY LOGIN 權限。
對於伺服器角色,需要伺服器角色的 CONTROL 權限或伺服器的 ALTER ANY SERVER ROLE 權限。
範例
A. 撤銷登入的 IMPERSONATE 權限
下列範例會將 SQL Server 登入 WanidaBenshoof
的 IMPERSONATE
權限授與 SQL Server 登入,而該項登入是透過 Windows 使用者 AdvWorks\YoonM
所建立。
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
B. 撤銷具有 CASCADE 的 VIEW DEFINITION 權限
下列範例會從 SQL Server 登入 RMeyyappan
撤銷 SQL Server 登入 EricKurjan
的 VIEW DEFINITION
權限。 CASCADE
選項指出 VIEW DEFINITION
的 EricKurjan
權限也會被 RMeyyappan
所授與權限的主體所撤銷。
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
C. 撤銷伺服器角色的 VIEW DEFINITION 權限
下列範例會對 VIEW DEFINITION
伺服器角色撤銷 Sales
伺服器角色的 Auditors
權限。
USE master;
REVOKE VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
另請參閱
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT 伺服器主體權限 (Transact-SQL)
DENY 伺服器主體權限 (Transact-SQL)
CREATE LOGIN (Transact-SQL)
主體 (資料庫引擎)
權限 (資料庫引擎)
安全性函數 (Transact-SQL)
安全性預存程序 (Transact-SQL)