Dela via


ÅTERKALLA behörigheter för databasens huvudnamn (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Förhandsversion av Microsoft Fabric

Återkallar behörigheter som beviljats eller nekats för en databasanvändare, databasroll eller programroll.

Transact-SQL syntaxkonventioner

Syntax

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]    
    ON   
    {  [ USER :: database_user ]  
       | [ ROLE :: database_role ]  
       | [ APPLICATION ROLE :: application_role ]  
    }  
    { FROM | TO } <database_principal> [ ,...n ]  
        [ CASCADE ]  
    [ AS <database_principal> ]  
  
<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
Anger en behörighet som kan återkallas för databasens huvudnamn. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.

USER ::database_user
Anger klassen och namnet på den användare där behörigheten återkallas. Omfångskvalificeraren (::) krävs.

ROLE ::database_role
Anger klassen och namnet på den roll som behörigheten återkallas för. Omfångskvalificeraren (::) krävs.

PROGRAMROLL ::application_role
Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database

Anger klassen och namnet på den programroll där behörigheten återkallas. Omfångskvalificeraren (::) krävs.

GRANT OPTION
Anger att rätten att bevilja den angivna behörigheten till andra huvudnamn återkallas. Behörigheten i sig kommer inte att återkallas.

Important

Om huvudkontot har den angivna behörigheten utan alternativet BEVILJA återkallas själva behörigheten.

CASCADE
Anger att behörigheten som återkallas också återkallas från andra huvudnamn som den har beviljats eller nekats av det här huvudkontot.

Caution

Ett kaskadåterkallning av en behörighet som beviljats MED GRANT OPTION återkallar både GRANT och DENY för den behörigheten.

AS-database_principal <> Anger ett huvudnamn från vilket huvudnamnet som kör frågan härleder sin rätt att återkalla behörigheten.

Database_user
Anger en databasanvändare.

Database_role
Anger en databasroll.

Application_role
Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database

Anger en programroll.

Database_user_mapped_to_Windows_User
Gäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en Windows-användare.

Database_user_mapped_to_Windows_Group
Gäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en Windows-grupp.

Database_user_mapped_to_certificate
Gäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till ett certifikat.

Database_user_mapped_to_asymmetric_key
Gäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en asymmetrisk nyckel.

Database_user_with_no_login
Anger en databasanvändare utan motsvarande huvudnamn på servernivå.

Remarks

Databasanvändarbehörigheter

En databasanvändare är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan återkallas för en databasanvändare visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem underförstått.

Databasanvändarbehörighet Underförstådd av databasanvändarbehörighet Underförstådd av databasbehörighet
CONTROL CONTROL CONTROL
IMPERSONATE CONTROL CONTROL
ALTER CONTROL ÄNDRA ALLA ANVÄNDARE
VIEW DEFINITION CONTROL VIEW DEFINITION

Behörigheter för databasroll

En databasroll är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan återkallas för en databasroll visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.

Behörighet för databasroll Underförstådd av behörighet för databasroll Underförstådd av databasbehörighet
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL ÄNDRA VILKEN ROLL SOM HELST
VIEW DEFINITION CONTROL VIEW DEFINITION

Behörigheter för programroller

En programroll är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan återkallas för en programroll visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem underförstått.

Behörighet för programroll Underförstådd av programrollbehörighet Underförstådd av databasbehörighet
CONTROL CONTROL CONTROL
ALTER CONTROL ÄNDRA VILKEN PROGRAMROLL SOM HELST
VIEW DEFINITION CONTROL VIEW DEFINITION

Permissions

Kräver KONTROLL-behörighet för det angivna huvudkontot eller en högre behörighet som innebär KONTROLL-behörighet.

Beviljar kontrollbehörighet för en databas, till exempel medlemmar i den db_owner fasta databasrollen, kan bevilja alla behörigheter för alla som kan skyddas i databasen.

Examples

A. Återkalla KONTROLL-behörighet för en användare från en annan användare

I följande exempel återkallas behörighet AdventureWorks2022 för CONTROL användare Wanida från användaren RolandX.

USE AdventureWorks2022;  
REVOKE CONTROL ON USER::Wanida FROM RolandX;  
GO  

B. Återkalla VIEW DEFINITION-behörighet för en roll från en användare som den har beviljats MED ALTERNATIVET BEVILJA

I följande exempel återkallas VIEW DEFINITION behörigheten för AdventureWorks2022 rollen SammamishParking från databasanvändaren JinghaoLiu. Alternativet CASCADE anges eftersom användaren JinghaoLiu har beviljats VIEW DEFINITION behörighet WITH GRANT OPTION.

USE AdventureWorks2022;  
REVOKE VIEW DEFINITION ON ROLE::SammamishParking   
    FROM JinghaoLiu CASCADE;  
GO  

C. Återkalla IMPERSONATE-behörighet för en användare från en programroll

I följande exempel återkallas IMPERSONATE behörigheten för användaren HamithaL från AdventureWorks2022 programrollen AccountsPayable17.

Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database

USE AdventureWorks2022;  
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;  
GO    

See Also

BEVILJA behörigheter för databasens huvudnamn (Transact-SQL)
Neka behörigheter för databasens huvudnamn (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
SKAPA ANVÄNDARE (Transact-SQL)
SKAPA PROGRAMROLL (Transact-SQL)
SKAPA ROLL (Transact-SQL)
GRANT (Transact-SQL)
Behörigheter (Databasmotor)
huvudnamn (databasmotor)