Neka databasbehörigheter (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Nekar behörigheter för en databas i SQL Server.

Transact-SQL syntaxkonventioner

Syntax

DENY <permission> [ ,...n ]
    TO <database_principal> [ ,...n ] [ CASCADE ]
    [ AS <database_principal> ]

<permission> ::=
    permission | ALL [ PRIVILEGES ]

<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

tillåtelse Anger en behörighet som kan nekas i en databas. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.

ALLA Det här alternativet nekar inte alla möjliga behörigheter. Neka ALLA motsvarar neka följande behörigheter: SÄKERHETSKOPIERINGSDATABAS, SÄKERHETSKOPIERINGSLOGG, SKAPA DATABAS, SKAPA STANDARD, SKAPA FUNKTION, SKAPA PROCEDUR, SKAPA REGEL, SKAPA TABELL OCH SKAPA VY.

PRIVILEGIER som ingår för ISO-efterlevnad. Ändrar inte beteendet för ALLA.

CASCADE Anger att behörigheten också nekas till de huvudkonton som det angivna huvudkontot har beviljats.

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

Database_user Anger en databasanvändare.

Database_role Anger en databasroll.

Application_rolegä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

En databas är en skyddsbar som finns på den server som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan nekas för en databas visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.

Databasbehörighet Underförstådd av databasbehörighet Underförstått av serverbehörighet
ADMINISTRERA MASSOPERATIONER FÖR DATABAS
Gäller för: SQL Database.
CONTROL KONTROLLSERVER
ALTER CONTROL ÄNDRA EN DATABAS
ÄNDRA VILKEN PROGRAMROLL SOM HELST ALTER KONTROLLSERVER
ÄNDRA ALLA SAMMANSÄTTNINGAR ALTER KONTROLLSERVER
ÄNDRA ASYMMETRISK NYCKEL ALTER KONTROLLSERVER
ÄNDRA ALLA CERTIFIKAT ALTER KONTROLLSERVER
ÄNDRA NÅGON KOLUMNKRYPTERINGSNYCKEL ALTER KONTROLLSERVER
ÄNDRA VALFRI KOLUMNHUVUDNYCKELDEFINITION ALTER KONTROLLSERVER
ÄNDRA ALLA KONTRAKT ALTER KONTROLLSERVER
ÄNDRA VILKEN DATABASGRANSKNING SOM HELST ALTER ÄNDRA SERVERGRANSKNING
ÄNDRA VALFRI DATABAS-DDL-UTLÖSARE ALTER KONTROLLSERVER
ÄNDRA EVENTUELLA DATABASHÄNDELSEMEDDELANDEN ALTER ÄNDRA HÄNDELSEMEDDELANDEN
ÄNDRA EN DATABASHÄNDELSESESSION
Gäller för: Azure SQL Database.
ALTER ÄNDRA HÄNDELSESESSIONER
ÄNDRA VARJE DATABAS-SPECIFIK KONFIGURATION
gäller för: SQL Server 2016 (13.x) och senare SQL Database.
CONTROL KONTROLLSERVER
ÄNDRA ALLA DATARYMDER ALTER KONTROLLSERVER
ÄNDRA ALLA EXTERNA DATAKÄLLOR ALTER KONTROLLSERVER
ÄNDRA VILKET SOM HELST EXTERNT FILFORMAT ALTER KONTROLLSERVER
ÄNDRA ALLA EXTERNA BIBLIOTEK
Gäller för: SQL Server 2017 (14.x).
CONTROL KONTROLLSERVER
ÄNDRA ALLA FULLTEXTKATALOGER ALTER KONTROLLSERVER
ÄNDRA VALFRI MASK CONTROL KONTROLLSERVER
ÄNDRA VALFRI MEDDELANDETYP ALTER KONTROLLSERVER
ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR ALTER KONTROLLSERVER
ÄNDRA VILKEN ROLL SOM HELST ALTER KONTROLLSERVER
ÄNDRA VALFRI VÄG ALTER KONTROLLSERVER
ÄNDRA ALLA SÄKERHETSPRINCIPER
Gäller för: SQL Server 2016 (13.x) och senare, Azure SQL Database.
CONTROL KONTROLLSERVER
ÄNDRA VALFRITT SCHEMA ALTER KONTROLLSERVER
ÄNDRA ALLA TJÄNSTER ALTER KONTROLLSERVER
ÄNDRA EN SYMMETRISK NYCKEL ALTER KONTROLLSERVER
ÄNDRA ALLA ANVÄNDARE ALTER KONTROLLSERVER
AUTHENTICATE CONTROL AUTENTISERA SERVER
SÄKERHETSKOPIERINGSDATABAS CONTROL KONTROLLSERVER
SÄKERHETSKOPIERINGSLOGG CONTROL KONTROLLSERVER
CHECKPOINT CONTROL KONTROLLSERVER
CONNECT ANSLUTNINGSREPLIKATION KONTROLLSERVER
ANSLUTNINGSREPLIKATION CONTROL KONTROLLSERVER
CONTROL CONTROL KONTROLLSERVER
SKAPA AGGREGERING ALTER KONTROLLSERVER
SKAPA SAMMANSÄTTNING ÄNDRA ALLA SAMMANSÄTTNINGAR KONTROLLSERVER
SKAPA ASYMMETRISK NYCKEL ÄNDRA ASYMMETRISK NYCKEL KONTROLLSERVER
SKAPA CERTIFIKAT ÄNDRA ALLA CERTIFIKAT KONTROLLSERVER
SKAPA KONTRAKT ÄNDRA ALLA KONTRAKT KONTROLLSERVER
SKAPA DATABAS CONTROL SKAPA VALFRI DATABAS
SKAPA HÄNDELSEMEDDELANDE FÖR DATABAS-DDL ÄNDRA EVENTUELLA DATABASHÄNDELSEMEDDELANDEN SKAPA DDL-HÄNDELSEMEDDELANDE
SKAPA STANDARD ALTER KONTROLLSERVER
SKAPA FULLTEXTKATALOG ÄNDRA ALLA FULLTEXTKATALOGER KONTROLLSERVER
SKAPA FUNKTION ALTER KONTROLLSERVER
SKAPA MEDDELANDETYP ÄNDRA VALFRI MEDDELANDETYP KONTROLLSERVER
LAGRA PROCEDUR ALTER KONTROLLSERVER
SKAPA KÖ ALTER KONTROLLSERVER
SKAPA FJÄRRTJÄNSTBINDNING ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR KONTROLLSERVER
SKAPA ROLL ÄNDRA VILKEN ROLL SOM HELST KONTROLLSERVER
SKAPA VÄG ÄNDRA VALFRI VÄG KONTROLLSERVER
SKAPA REGEL ALTER KONTROLLSERVER
SKAPA SCHEMA ÄNDRA VALFRITT SCHEMA KONTROLLSERVER
SKAPA TJÄNST ÄNDRA ALLA TJÄNSTER KONTROLLSERVER
SKAPA SYMMETRISK NYCKEL ÄNDRA EN SYMMETRISK NYCKEL KONTROLLSERVER
SKAPA SYNONYM ALTER KONTROLLSERVER
CREATE TABLE ALTER KONTROLLSERVER
SKAPA TYP ALTER KONTROLLSERVER
SKAPA VY ALTER KONTROLLSERVER
SKAPA XML-SCHEMASAMLING ALTER KONTROLLSERVER
DELETE CONTROL KONTROLLSERVER
EXECUTE CONTROL KONTROLLSERVER
KÖRA ETT EXTERNT SKRIPT
Gäller för: SQL Server 2016 (13.x).
CONTROL KONTROLLSERVER
INSERT CONTROL KONTROLLSERVER
AVBRYT DATABASANSLUTNING
Gäller för: Azure SQL Database.
CONTROL ÄNDRA ALLA ANSLUTNINGAR
REFERENCES CONTROL KONTROLLSERVER
SELECT CONTROL KONTROLLSERVER
SHOWPLAN CONTROL ALTER TRACE
PRENUMERERA PÅ FRÅGEMEDDELANDEN CONTROL KONTROLLSERVER
TA ÄGARSKAP CONTROL KONTROLLSERVER
UNMASK CONTROL KONTROLLSERVER
UPDATE CONTROL KONTROLLSERVER
VISA VALFRI KOLUMNKRYPTERINGSNYCKEL CONTROL SE NÅGON DEFINITION
VISA EN HUVUDNYCKELDEFINITION CONTROL SE NÅGON DEFINITION
VISA DATABASENS TILLSTÅND CONTROL SE SERVERTILLSTÅND
VISA DEFINITION CONTROL SE NÅGON DEFINITION

Permissions

Det huvudnamn som kör den här instruktionen (eller det huvudnamn som anges med ALTERNATIVET AS) måste ha BEHÖRIGHETSKONTROLL för databasen eller en högre behörighet som innebär KONTROLL-behörighet för databasen.

Om du använder ALTERNATIVET AS måste det angivna huvudkontot äga databasen.

Examples

A. Neka behörighet att skapa certifikat

I följande exempel nekas CREATE CERTIFICATE behörighet för AdventureWorks2025 databasen till användaren MelanieK.

USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO

B. Neka behörigheten REFERENSER till en programroll

I följande exempel nekas REFERENCES behörighet för databasen till programrollen AdventureWorks2025AuditMonitor .

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

USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO

C. Neka VYDEFINITION MED CASCADE

I följande exempel nekas VIEW DEFINITION behörighet för AdventureWorks2025 databasen till användaren CarmineEs och till alla huvudnamn som CarmineEs har beviljat VIEW DEFINITION behörighet.

USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO

Se även