撤消为 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
::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 选项
指示要撤消向其他主体授予指定权限的权限。 不会撤消该权限本身。
重要
如果负责人获得了指定的许可但没有选项 GRANT ,该许可本身将被撤销。
CASCADE
指示要撤消的权限也会从此主体授予或拒绝该权限的其他主体中撤消。
注意
对授予WITH GRANT OPTION许可的连锁撤销将会撤销该许可的两者GRANTDENY。
AS SQL_Server_login
指定执行此查询的主体从哪个 SQL Server 登录名派生其撤消该权限的权限。
备注
SQL Server 登录名和服务器角色是服务器级安全对象。 下表列出了可为 SQL Server 登录名或服务器角色撤消的最具体的限定权限,以及隐含这些权限的更一般的权限。
| SQL Server 登录名或服务器角色权限 | SQL Server 登录名或服务器角色权限隐含的权限 | 服务器权限隐含的权限 |
|---|---|---|
| CONTROL | CONTROL | 控制服务器 |
| IMPERSONATE | CONTROL | 控制服务器 |
| VIEW 定义 | CONTROL | VIEW 任何定义 |
| ALTER | CONTROL | 更改任意 LOGIN 更改任意 SERVER ROLE |
权限
登录时,需要登录时的CONTROL权限,或者服务器上的ALTER任何 LOGIN 权限。
对于服务器角色,需要对服务器角色使用CONTROL权限,或者在服务器上更改任何 SERVER ROLE 权限。
示例
A. 撤消登录名的 IMPERSONATE 权限
以下示例从通过 Windows 用户 IMPERSONATE 创建的 SQL Server 登录名中撤消对 SQL Server 登录名 WanidaBenshoof 的 AdvWorks\YoonM 权限。
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
B. 用CASCADE撤销 VIEW 定义许可
以下示例从 SQL Server 登录名 VIEW DEFINITION 中撤消对 SQL Server 登录名 EricKurjan 的 RMeyyappan 权限。
CASCADE 选项指示还会从 VIEW DEFINITION 授予 EricKurjan 权限的主体中撤消对 RMeyyappan 的该权限。
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
C. 撤销 VIEW 服务器角色的定义权限
以下示例撤消 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)