REVOKE (Transact-SQL)
Removes a previously granted or denied permission.
The full syntax of the REVOKE statement is complex. The previous diagram has been simplified to draw attention to its structure. Complete syntax for revoking permissions on specific securables is described in the topics listed in Securable-specific Syntax later in this topic.
The REVOKE statement can be used to remove granted permissions, and the DENY statement can be used to prevent a principal from gaining a specific permission through a GRANT.
Granting a permission removes DENY or REVOKE of that permission on the specified securable. If the same permission is denied at a higher scope that contains the securable, the DENY takes precedence. However, revoking the granted permission at a higher scope does not take precedence.
Caution |
|---|
A table-level DENY does not take precedence over a column-level GRANT. This inconsistency in the permissions hierarchy has been preserved for backward compatibility. It will be removed in a future release. |
The sp_helprotect system stored procedure reports permissions on a database-level securable
The REVOKE statement will fail if CASCADE is not specified when you are revoking a permission from a principal that was granted that permission with GRANT OPTION specified.
Principals with CONTROL permission on a securable can revoke permission on that securable. Object owners can revoke permissions on the objects they own.
Grantees of CONTROL SERVER permission, such as members of the sysadmin fixed server role, can revoke any permission on any securable in the server. Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can revoke any permission on any securable in the database. Grantees of CONTROL permission on a schema can revoke any permission on any object within the schema.
The following tables lists the securables and the topics that describe the securable-specific syntax.
Securable | Topic |
|---|---|
Application Role | |
Assembly | |
Asymmetric Key | |
Certificate | |
Contract | |
Database | |
Endpoint | |
Full-text Catalog | |
Full-text Stoplist | |
Function | |
Login | |
Message Type | |
Object | |
Queue | |
Remote Service Binding | |
Role | |
Route | |
Schema | |
Server | |
Service | |
Stored Procedure | |
Symmetric Key | |
Synonym | |
System Objects | |
Table | |
Type | |
User | |
View | |
XML Schema Collection |
