Delen via


INTREKKEN OBJECTRECHTEN (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Trekt de rechten in op een tabel, weergave, tabel-waarde functie, opgeslagen procedure, uitgebreide opgeslagen procedure, scalaire functie, aggregate functie, servicewachtrij of synoniem.

Transact-SQL syntaxis-conventies

Syntaxis

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login      

Arguments

permission
Specificeert een toestemming die kan worden ingetrokken op een schema-contained object. Zie de sectie Opmerkingen verderop in dit onderwerp voor een lijst met machtigingen.

ALL
ALLE intrekken trekt niet alle mogelijke rechten in. Het intrekken van ALL is gelijk aan het intrekken van alle ANSI-92-rechten die van toepassing zijn op het opgegeven object. De betekenis van ALL varieert als volgt:

Scalaire functiemachtigingen: EXECUTE, REFERENCES.

Functiemachtigingen met tabelwaarde: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Machtigingen voor opgeslagen procedures: EXECUTE.

Tabelmachtigingen: VERWIJDEREN, INVOEGEN, VERWIJZINGEN, SELECTEREN, BIJWERKEN.

Machtigingen weergeven: VERWIJDEREN, INVOEGEN, VERWIJZINGEN, SELECTEREN, BIJWERKEN.

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

kolom
Specificeert de naam van een kolom in een tabel, weergave of tabelwaardige functie waarvoor de toestemming wordt ingetrokken. De haakjes ( ) zijn vereist. Alleen SELECT-, VERWIJZINGEN- en UPDATE-machtigingen kunnen worden geweigerd voor een kolom. kolom kan worden opgegeven in de machtigingscomponent of na de beveiligbare naam.

OP [ OBJECT :: ] [ schema_name ] . object_name
Specificeert het object waarop de toestemming wordt ingetrokken. De objectterm is optioneel als schema_name is opgegeven. Als de OBJECT-woordgroep wordt gebruikt, is de bereikkwalificatie (::) vereist. Als schema_name niet is opgegeven, wordt het standaardschema gebruikt. Als schema_name is gespecificeerd, is de schemascope-kwalificatie (.) vereist.

{ VAN | TO } <database_principal> Specificeert de principe waarvan de toestemming wordt ingetrokken.

SUBSIDIEOPTIE
Geeft aan dat het recht om de opgegeven machtiging aan andere principals te verlenen, wordt ingetrokken. De machtiging zelf wordt niet ingetrokken.

Belangrijk

Als de principal de opgegeven machtiging heeft zonder de optie GRANT, wordt de machtiging zelf ingetrokken.

CASCADE
Geeft aan dat de ingetrokken machtiging ook wordt ingetrokken van andere principals waaraan deze is verleend of geweigerd door deze principal.

Waarschuwing

Een trapsgewijs intrekken van een machtiging die MET GRANT OPTION wordt verleend, trekt zowel GRANT als DENY van die machtiging in.

AS <database_principal> Hiermee geeft u een principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging in te trekken.

Database_user
Hiermee geeft u een databasegebruiker.

Database_role
Hiermee geeft u een databaserol op.

Application_role
Hiermee geeft u een toepassingsrol op.

Database_user_mapped_to_Windows_User
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-gebruiker.

Database_user_mapped_to_Windows_Group
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-groep.

Database_user_mapped_to_certificate
Hiermee geeft u een databasegebruiker die is toegewezen aan een certificaat.

Database_user_mapped_to_asymmetric_key
Hiermee geeft u een databasegebruiker die is toegewezen aan een asymmetrische sleutel.

Database_user_with_no_login
Hiermee geeft u een databasegebruiker zonder bijbehorende principal op serverniveau op.

Opmerkingen

Informatie over objecten is zichtbaar in verschillende catalogusweergaven. Zie Objectcatalogusweergaven (Transact-SQL) voor meer informatie.

Een object is een beveiligbaar op schemaniveau dat is opgenomen in het schema dat het bovenliggende object in de machtigingshiërarchie is. De meest specifieke en beperkte rechten die op een object kunnen worden ingetrokken, worden in de volgende tabel vermeld, samen met de meer algemene rechten die deze bij implicatie omvatten.

Objecttoestemming Impliciet op objectmachtiging Impliciet door schemamachtiging
WIJZIGEN CONTROLE WIJZIGEN
CONTROLE CONTROLE CONTROLE
Verwijderen CONTROLE Verwijderen
EXECUTE CONTROLE EXECUTE
INSERT CONTROLE INSERT
RECEIVE CONTROLE CONTROLE
REFERENCES CONTROLE REFERENCES
SELECT RECEIVE SELECT
EIGENAARSCHAP NEMEN CONTROLE CONTROLE
UPDATE CONTROLE UPDATE
WIJZIGINGEN BIJHOUDEN WEERGEVEN CONTROLE WIJZIGINGEN BIJHOUDEN WEERGEVEN
DEFINITIE WEERGEVEN CONTROLE DEFINITIE WEERGEVEN

Permissions

Hiervoor is de CONTROL-machtiging voor het object vereist.

Als je de AS-clausule gebruikt, moet de gespecificeerde principal eigenaar zijn van het object waarop de rechten worden ingetrokken.

Voorbeelden

Eén. Het intrekken van de SELECT-toestemming op een tabel

Het volgende voorbeeld trekt SELECT de gebruiker de toestemming in de tabel RosaQdMPerson.Address in de AdventureWorks2025 database in.

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Het intrekken van de uitvoeringsrechten op een opgeslagen procedure

Het volgende voorbeeld trekt EXECUTE de toestemming in voor de opgeslagen procedure HumanResources.uspUpdateEmployeeHireInfo van een applicatierol genaamd Recruiting11.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. REFERENTIES-toestemming intrekken op een weergave met CASCADE

Het volgende voorbeeld trekt REFERENCES de toestemming voor de kolom BusinessEntityID in de weergave HumanResources.vEmployee van de gebruiker Wanida met CASCADEin.

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Zie ook

objectmachtigingen verlenen (Transact-SQL)
Objectmachtigingen Weigeren (Transact-SQL)
objectcatalogusweergaven (Transact-SQL)
Machtigingen (Database Engine)
Principals (Databasemotor)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)