REVOKE (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Hiermee verwijdert u een eerder verleende of geweigerde machtiging.

Transact-SQL syntaxis-conventies

Syntax

Syntaxis voor SQL Server, Azure SQL Database en Fabric SQL-database

-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  

Syntaxis voor Azure Synapse Analytics, Parallel Data Warehouse en Microsoft Fabric Warehouse

REVOKE
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

GRANT OPTIE VOOR
Geeft aan dat de mogelijkheid om de opgegeven machtiging te verlenen wordt ingetrokken. Dit is vereist wanneer u het argument TRAPSGEWIJS gebruikt.

Important

Als de opdrachtgever de gespecificeerde toestemming heeft zonder die GRANT optie, wordt de toestemming zelf ingetrokken.

ALL
Van toepassing op: SQL Server 2008 (10.0.x) en hoger

Met deze optie worden niet alle mogelijke machtigingen ingetrokken. Het intrekken van ALL is gelijk aan het intrekken van de volgende machtigingen.

  • Als de securable een database is, betekent BACKUPDATABASEALL , BACKUP LOG, CREATE DATABASE, , CREATE DEFAULT, CREATE FUNCTIONCREATE PROCEDURE, , CREATE RULE, , CREATE TABLE, en CREATE VIEW.

  • Als de beveiligbare functie een scalaire functie is, betekent ALL EXECUTE en REFERENCES.

  • Als de securable een tabelwaardige functie is, betekent DELETEALL , INSERT, REFERENTIES, SELECT, en UPDATE.

  • Als de beveiligbare procedure een opgeslagen procedure is, betekent ALL EXECUTE.

  • Als de securable een tabel is, betekent DELETEALL , INSERT, REFERENTIES, SELECT, en UPDATE.

  • Als de securable een view is, betekent DELETEALL , INSERT, REFERENTIES, SELECT, en UPDATE.

Note

De REVOKE ALL-syntaxis is verouderd. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. In plaats daarvan specifieke machtigingen intrekken.

PRIVILEGES
Opgenomen voor ISO-naleving. Het gedrag van ALL wordt niet gewijzigd.

permission
Is de naam van een machtiging. De geldige toewijzingen van machtigingen voor beveiligbare objecten worden beschreven in de onderwerpen die verderop in dit onderwerp worden vermeld in de syntaxis die specifiek is voor beveiligbaar .

column
Hiermee geeft u de naam van een kolom in een tabel waarop machtigingen worden ingetrokken. De haakjes zijn vereist.

class
Hiermee geeft u de klasse van de beveiligbare waarop de machtiging wordt ingetrokken. De kwalificatie voor het bereik :: is vereist.

securable
Hiermee geeft u de beveiligbare waarop de machtiging wordt ingetrokken.

AAN | FROM-principal
Is de naam van een principal. De principals waaruit machtigingen voor een beveiligbare kunnen worden ingetrokken, variëren, afhankelijk van de beveiligbare. Zie de onderwerpen in securable-specifieke syntaxis verderop in dit onderwerp voor meer informatie over geldige combinaties.

CASCADE
Geeft aan dat de machtiging die wordt ingetrokken, ook wordt ingetrokken van andere principals waaraan deze principal is verleend. Wanneer je het CASCADE-argument gebruikt, moet je ook het GRANT OPTION FOR-argument toevoegen.

Caution

Een cascaderende intrekking van een toestemming die MET GRANT OPTIE is gegeven, zal beide GRANT en DENY van die toestemming intrekken.

AS directeur
Gebruik de AS-principalcomponent om aan te geven dat u een machtiging aanroept die is verleend door een andere principal dan u. Stel bijvoorbeeld dat gebruiker Mary principal_id 12 is en dat de gebruiker Raul principal_id 15 is. Zowel Mary als Raul verlenen een gebruiker met de naam Steven dezelfde machtiging. De sys.database_permissions tabel geeft de machtigingen twee keer aan, maar ze hebben elk een andere grantor_principal_id waarde. Mary kan de machtiging intrekken met behulp van de AS RAUL component om de toekenning van de machtiging van Raul te verwijderen.

Het gebruik van AS in deze instructie impliceert niet de mogelijkheid om een andere gebruiker te imiteren.

Remarks

De volledige syntaxis van de REVOKE-instructie is complex. Het bovenstaande syntaxisdiagram is vereenvoudigd om de aandacht te vestigen op de structuur ervan. De volledige syntaxis voor het intrekken van machtigingen voor specifieke beveiligbare objecten wordt beschreven in de onderwerpen die verderop in dit onderwerp worden vermeld in de securable-specifieke syntaxis .

De REVOKE instructie kan worden gebruikt om verleende machtigingen te verwijderen en de DENY instructie kan worden gebruikt om te voorkomen dat een principal een specifieke machtiging krijgt via een GRANT.

Als u een machtiging verleent, worden DENY of REVOKE van die machtiging voor de opgegeven beveiligbaar verwijderd. Als dezelfde machtiging wordt geweigerd voor een hoger bereik dat de beveiligbare bevat, heeft de DENY voorrang. Het intrekken van de verleende machtiging op een hoger bereik heeft echter geen prioriteit.

Caution

Een DENY op tabelniveau heeft geen prioriteit boven een GRANTop kolomniveau. Deze inconsistentie in de machtigingshiërarchie is behouden voor achterwaartse compatibiliteit. Deze wordt verwijderd in een toekomstige release.

De sp_helprotect systeem opgeslagen procedure rapporteert machtigingen op databaseniveau beveiligbaar

De REVOKE verklaring faalt als CASCADE niet wordt gespecificeerd wanneer je een toestemming intrekt van een opdrachtgever die die toestemming met GRANT OPTION heeft gekregen.

Permissions

Principals met CONTROL-machtiging voor een beveiligbaar apparaat kunnen de machtiging voor die beveiligbare intrekken. Objecteigenaren kunnen machtigingen intrekken voor de objecten die ze bezitten.

Grantees van CONTROL SERVER-machtiging, zoals leden van de vaste serverfunctie sysadmin, kunnen elke machtiging intrekken voor elk beveiligbaar apparaat op de server. Grantees van CONTROL-machtigingen voor een database, zoals leden van de db_owner vaste databaserol, kunnen elke machtiging intrekken voor elk beveiligbaar bestand in de database. Houders van CONTROL-toestemming op een schema kunnen elke toestemming op elk object binnen het schema intrekken.

Securabel-specifieke syntaxis

De volgende tabel bevat de beveiligbare items en de onderwerpen die de beveiligbare specifieke syntaxis beschrijven.

Securable Topic
Toepassingsrol REVOKE Databasehoofdpermissies (Transact-SQL)
Assembly REVOKE Assemblagerechten (Transact-SQL)
Asymmetrische Toonsoort REVOKE Asymmetrische sleutelrechten (Transact-SQL)
Beschikbaarheidsgroep REVOKE Beschikbaarheidsgroeppermissies (Transact-SQL)
Certificate REVOKE Certificaatrechten (Transact-SQL)
Contract REVOKE Service Broker-machtigingen (Transact-SQL)
Database REVOKE Databaserechten (Transact-SQL)
Endpoint REVOKE Eindpuntmachtigingen (Transact-SQL)
Referentie in databasebereik REVOKE Database Scoped Credential (Transact-SQL)
Volledige tekst Catalogus REVOKE Full-Text Rechten (Transact-SQL)
Full-Text Stoplijst REVOKE Full-Text Rechten (Transact-SQL)
Function REVOKE Objectmachtigingen (Transact-SQL)
Login REVOKE Machtigingen voor server-principals (Transact-SQL)
Berichttype REVOKE Service Broker-machtigingen (Transact-SQL)
Object REVOKE Objectmachtigingen (Transact-SQL)
Queue REVOKE Objectmachtigingen (Transact-SQL)
Externe servicebinding REVOKE Service Broker-machtigingen (Transact-SQL)
Role REVOKE Databasehoofdpermissies (Transact-SQL)
Route REVOKE Service Broker-machtigingen (Transact-SQL)
Schema REVOKE Schema-rechten (Transact-SQL)
Lijst met zoekeigenschappen REVOKE Zoekrechten voor eigendomslijsten (Transact-SQL)
Server REVOKE Servermachtigingen (Transact-SQL)
Service REVOKE Service Broker-machtigingen (Transact-SQL)
Opgeslagen procedure REVOKE Objectmachtigingen (Transact-SQL)
Symmetrische Sleutel REVOKE Symmetrische sleutelrechten (Transact-SQL)
Synonym REVOKE Objectmachtigingen (Transact-SQL)
Systeemobjecten REVOKE Machtigingen voor systeemobjecten (Transact-SQL)
Table REVOKE Objectmachtigingen (Transact-SQL)
Type REVOKE Typerechten (Transact-SQL)
User REVOKE Databasehoofdpermissies (Transact-SQL)
View REVOKE Objectmachtigingen (Transact-SQL)
XML-schemaverzameling REVOKE XML Schema Verzamelingsrechten (Transact-SQL)

Examples

A. Verlenen en intrekken

Van toepassing op: SQL Server, SQL Database

In het volgende voorbeeld wordt een schema, een ingesloten databasegebruiker en een nieuwe rol voor een gebruikersdatabase gemaakt. De gebruiker wordt toegevoegd aan de rol, verleent SELECT-machtigingen voor het schema aan de rol en verwijdert (REVOKE) die machtiging voor de rol.

CREATE SCHEMA Sales;  
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe; 
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
 

Zie ook

Machtigingshiërarchie (Database Engine)
DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)