DENY 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. Att neka ALLA är likvärdigt med att neka följande behörigheter: BACKUPDATABASE, BACKUP LOG, CREATE DATABASE, , CREATE FUNCTIONCREATE DEFAULT, , CREATE PROCEDURE, CREATE RULE, CREATE TABLEoch CREATE VIEW.

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 DATABASE MASSÅTGÄRDER
Gäller för: SQL Database.
CONTROL KONTROLLSERVER
ALTER CONTROL ÄNDRA NÅGON DATABASE
ÄNDRA NÅGON APPLICATION ROLE ALTER KONTROLLSERVER
ÄNDRA NÅGON ASSEMBLY ALTER KONTROLLSERVER
ÄNDRA NÅGON ASYMMETRIC KEY ALTER KONTROLLSERVER
ÄNDRA NÅGON CERTIFICATE ALTER KONTROLLSERVER
ÄNDRA NÅGON COLUMN ENCRYPTION KEY ALTER KONTROLLSERVER
ÄNDRA VILKEN DEFINITION SOM HELST COLUMN MASTER KEY ALTER KONTROLLSERVER
ÄNDRA NÅGON CONTRACT ALTER KONTROLLSERVER
ÄNDRA ALLA DATABASE GRANSKNINGAR ALTER ÄNDRA NÅGON SERVER AUDIT
ÄNDRA DDL DATABASETRIGGER ALTER KONTROLLSERVER
ÄNDRA EVENTUELLA DATABASEEVENT NOTIFICATION ALTER ÄNDRA NÅGON EVENT NOTIFICATION
ÄNDRA EVENTUELLA DATABASEEVENT SESSION
Gäller för: Azure SQL Database.
ALTER ÄNDRA NÅGON EVENT SESSION
ÄNDRA NÅGON DATABASE SCOPED CONFIGURATION
gäller för: SQL Server 2016 (13.x) och senare SQL Database.
CONTROL KONTROLLSERVER
ÄNDRA ALLA DATARYMDER ALTER KONTROLLSERVER
ÄNDRA NÅGON EXTERNAL DATA SOURCE ALTER KONTROLLSERVER
ÄNDRA NÅGON EXTERNAL FILE FORMAT ALTER KONTROLLSERVER
ÄNDRA NÅGON EXTERNAL LIBRARY
Gäller för: SQL Server 2017 (14.x).
CONTROL KONTROLLSERVER
ÄNDRA NÅGON FULLTEXT CATALOG ALTER KONTROLLSERVER
ÄNDRA VALFRI MASK CONTROL KONTROLLSERVER
ÄNDRA NÅGON MESSAGE TYPE ALTER KONTROLLSERVER
ÄNDRA NÅGON REMOTE SERVICE BINDING ALTER KONTROLLSERVER
ÄNDRA NÅGON ROLE ALTER KONTROLLSERVER
ÄNDRA NÅGON ROUTE ALTER KONTROLLSERVER
ÄNDRA NÅGON SECURITY POLICY
Gäller för: SQL Server 2016 (13.x) och senare, Azure SQL Database.
CONTROL KONTROLLSERVER
ÄNDRA NÅGON SCHEMA ALTER KONTROLLSERVER
ÄNDRA NÅGON SERVICE ALTER KONTROLLSERVER
ÄNDRA NÅGON SYMMETRIC KEY ALTER KONTROLLSERVER
ÄNDRA NÅGON USER ALTER KONTROLLSERVER
AUTHENTICATE CONTROL AUTENTISERA SERVER
BACKUP DATABASE CONTROL KONTROLLSERVER
BACKUP Logga in CONTROL KONTROLLSERVER
CHECKPOINT CONTROL KONTROLLSERVER
CONNECT ANSLUTNINGSREPLIKATION KONTROLLSERVER
ANSLUTNINGSREPLIKATION CONTROL KONTROLLSERVER
CONTROL CONTROL KONTROLLSERVER
CREATE AGGREGATE ALTER KONTROLLSERVER
CREATE ASSEMBLY ÄNDRA NÅGON ASSEMBLY KONTROLLSERVER
CREATE ASYMMETRIC KEY ÄNDRA NÅGON ASYMMETRIC KEY KONTROLLSERVER
CREATE CERTIFICATE ÄNDRA NÅGON CERTIFICATE KONTROLLSERVER
CREATE CONTRACT ÄNDRA NÅGON CONTRACT KONTROLLSERVER
CREATE DATABASE CONTROL SKAPA VALFRITT DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ÄNDRA EVENTUELLA DATABASEEVENT NOTIFICATION SKAPA DDL EVENT NOTIFICATION
CREATE DEFAULT ALTER KONTROLLSERVER
CREATE FULLTEXT CATALOG ÄNDRA NÅGON FULLTEXT CATALOG KONTROLLSERVER
CREATE FUNCTION ALTER KONTROLLSERVER
CREATE MESSAGE TYPE ÄNDRA NÅGON MESSAGE TYPE KONTROLLSERVER
CREATE PROCEDURE ALTER KONTROLLSERVER
CREATE QUEUE ALTER KONTROLLSERVER
CREATE REMOTE SERVICE BINDING ÄNDRA NÅGON REMOTE SERVICE BINDING KONTROLLSERVER
CREATE ROLE ÄNDRA NÅGON ROLE KONTROLLSERVER
CREATE ROUTE ÄNDRA NÅGON ROUTE KONTROLLSERVER
CREATE RULE ALTER KONTROLLSERVER
CREATE SCHEMA ÄNDRA NÅGON SCHEMA KONTROLLSERVER
CREATE SERVICE ÄNDRA NÅGON SERVICE KONTROLLSERVER
CREATE SYMMETRIC KEY ÄNDRA NÅGON SYMMETRIC KEY KONTROLLSERVER
CREATE SYNONYM ALTER KONTROLLSERVER
CREATE TABLE ALTER KONTROLLSERVER
CREATE TYPE ALTER KONTROLLSERVER
CREATE VIEW ALTER KONTROLLSERVER
CREATE XML SCHEMA COLLECTION 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
AVSLUTA DATABASE ANSLUTNING
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
VIEW NÅGON COLUMN ENCRYPTION KEY CONTROL VIEW VALFRI DEFINITION
VIEW VALFRI MASTER KEY DEFINITION CONTROL VIEW VALFRI DEFINITION
VIEW DATABASE STATLIGT CONTROL VIEW SERVERTILLSTÅND
VIEW DEFINITION CONTROL VIEW VALFRI 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. Att VIEW neka DEFINITION 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