Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-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.
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_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)