Dela via


Neka 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

Nekar behörigheter som beviljas för en databasanvändare, databasroll eller programroll i SQL Server.

Transact-SQL syntaxkonventioner

Syntax

DENY permission [ ,...n ]    
    ON   
    {  [ USER :: database_user ]  
     | [ ROLE :: database_role ]  
     | [ APPLICATION ROLE :: application_role ]  
    }  
    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 nekas 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 nekas. Omfångskvalificeraren (::) krävs.

ROLE ::database_role
Anger klassen och namnet på den roll där behörigheten nekas. 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 nekas. Omfångskvalificeraren (::) krävs.

CASCADE
Anger att behörigheten som nekas också nekas till andra huvudnamn som det har beviljats av det här huvudkontot.

AS-database_principal <>
Anger ett huvudnamn från vilket huvudnamnet som kör den hä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
Anger en databasanvändare som mappats till en Windows-användare.

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

Database_user_mapped_to_certificate
Anger en databasanvändare som mappats till ett certifikat.

Database_user_mapped_to_asymmetric_key
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 nekas 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 nekas för en databasroll visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem underförstått.

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 nekas 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.

Beviljare av CONTROL-behörighet för en databas, till exempel medlemmar i db_owner fast databasroll, kan neka alla behörigheter som kan säkras i databasen.

Examples

A. Neka BEHÖRIGHETSKONTROLL för en användare till en annan användare

I följande exempel nekas CONTROL behörighet för AdventureWorks2022-användaren Wanida till användaren RolandX.

USE AdventureWorks2022;  
DENY CONTROL ON USER::Wanida TO RolandX;  
GO  

B. Neka behörigheten VIEW DEFINITION för en roll till en användare som den har beviljats med ALTERNATIVET BEVILJA

I följande exempel nekas VIEW DEFINITION behörighet för rollen SammamishParking AdventureWorks2022 till databasanvändaren JinghaoLiu. Alternativet CASCADE anges eftersom användaren JinghaoLiu har beviljats BEHÖRIGHETEN VISA DEFINITION MED ALTERNATIVET BEVILJA.

USE AdventureWorks2022;  
DENY VIEW DEFINITION ON ROLE::SammamishParking   
    TO JinghaoLiu CASCADE;  
GO  

C. Neka IMPERSONATE-behörighet för en användare till en programroll

I följande exempel nekas IMPERSONATE behörighet för användaren HamithaL till programrollen AccountsPayable17AdventureWorks2022 .

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

USE AdventureWorks2022;  
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;  
GO    

See Also

BEVILJA behörigheter för databasens huvudnamn (Transact-SQL)
ÅTERKALLA 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)