DENY Oprávnění k databázi (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Odmítne oprávnění k databázi na SQL Serveru.

Transact-SQL konvence syntaxe

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

povolení Určuje oprávnění, které lze v databázi odepřít. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.

Všechna tato možnost neodmítá všechna možná oprávnění. Odepření ALL je ekvivalentní odepření následujících oprávnění: BACKUP, LOG, DATABASE, BACKUP, CREATE DATABASE, , CREATE DEFAULT, CREATE FUNCTION, , CREATE PROCEDUREa CREATE RULE. CREATE TABLECREATE VIEW

OPRÁVNĚNÍ zahrnutá pro dodržování předpisů ISO. Nemění chování funkce ALL.

CASCADE Označuje, že oprávnění bude také odepřeno na objekty zabezpečení, kterým daný objekt zabezpečení udělil.

AS <database_principal> Určuje objekt zabezpečení, ze kterého objekt zabezpečení, který spouští tento dotaz, odvozuje své právo odepřít oprávnění.

Database_user Určuje uživatele databáze.

Database_role Určuje roli databáze.

Application_roleplatí pro: SQL Server 2008 (10.0.x) a novější, SQL Database.

Určuje roli aplikace.

Database_user_mapped_to_Windows_User Určuje uživatele databáze mapované na uživatele systému Windows.

Database_user_mapped_to_Windows_Group Určuje uživatele databáze mapované na skupinu Windows.

Database_user_mapped_to_certificate Určuje uživatele databáze mapované na certifikát.

Database_user_mapped_to_asymmetric_key Určuje uživatele databáze namapovaný na asymetrický klíč.

Database_user_with_no_login Určuje uživatele databáze bez odpovídajícího objektu zabezpečení na úrovni serveru.

Remarks

Databáze je zabezpečitelná serverem, který je nadřazený v hierarchii oprávnění. Nejpřesnější a omezená oprávnění, která je možné v databázi odepřít, jsou uvedená v následující tabulce společně s obecnějšími oprávněními, která je zahrnují implikací.

Povolení k databázi Implicitní oprávnění databáze Implicitní oprávnění serveru
SPRAVOVAT DATABASE HROMADNÉ OPERACE
Platí pro: SQL Database.
CONTROL řídicí server
ALTER CONTROL Změnit libovolný DATABASE
Změnit libovolný APPLICATION ROLE ALTER řídicí server
Změnit libovolný ASSEMBLY ALTER řídicí server
Změnit libovolný ASYMMETRIC KEY ALTER řídicí server
Změnit libovolný CERTIFICATE ALTER řídicí server
Změnit libovolný COLUMN ENCRYPTION KEY ALTER řídicí server
ZMĚNIT JAKOUKOLI COLUMN MASTER KEY DEFINICI ALTER řídicí server
Změnit libovolný CONTRACT ALTER řídicí server
UPRAVTE JAKÝKOLI DATABASE AUDIT ALTER Změnit libovolný SERVER AUDIT
UPRAVTE LIBOVOLNÉ DATABASE DDL TRIGGER ALTER řídicí server
ALTER ANY DATABASEEVENT NOTIFICATION ALTER Změnit libovolný EVENT NOTIFICATION
ALTER ANY DATABASEEVENT SESSION
Platí pro: Azure SQL Database.
ALTER Změnit libovolný EVENT SESSION
Změnit libovolný DATABASE SCOPED CONFIGURATION
platí pro: SQL Server 2016 (13.x) a novější, SQL Database.
CONTROL řídicí server
ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR ALTER řídicí server
Změnit libovolný EXTERNAL DATA SOURCE ALTER řídicí server
Změnit libovolný EXTERNAL FILE FORMAT ALTER řídicí server
Změnit libovolný EXTERNAL LIBRARY
Platí pro: SQL Server 2017 (14.x).
CONTROL řídicí server
Změnit libovolný FULLTEXT CATALOG ALTER řídicí server
ZMĚNIT JAKOUKOLIV MASKU CONTROL řídicí server
Změnit libovolný MESSAGE TYPE ALTER řídicí server
Změnit libovolný REMOTE SERVICE BINDING ALTER řídicí server
Změnit libovolný ROLE ALTER řídicí server
Změnit libovolný ROUTE ALTER řídicí server
Změnit libovolný SECURITY POLICY
Platí pro: SQL Server 2016 (13.x) a novější, Azure SQL Database.
CONTROL řídicí server
Změnit libovolný SCHEMA ALTER řídicí server
Změnit libovolný SERVICE ALTER řídicí server
Změnit libovolný SYMMETRIC KEY ALTER řídicí server
Změnit libovolný USER ALTER řídicí server
AUTHENTICATE CONTROL OVĚŘENÍ SERVERU
BACKUP DATABASE CONTROL řídicí server
BACKUP PROTOKOL CONTROL řídicí server
CHECKPOINT CONTROL řídicí server
CONNECT REPLIKACE CONNECT řídicí server
REPLIKACE CONNECT CONTROL řídicí server
CONTROL CONTROL řídicí server
CREATE AGGREGATE ALTER řídicí server
CREATE ASSEMBLY Změnit libovolný ASSEMBLY řídicí server
CREATE ASYMMETRIC KEY Změnit libovolný ASYMMETRIC KEY řídicí server
CREATE CERTIFICATE Změnit libovolný CERTIFICATE řídicí server
CREATE CONTRACT Změnit libovolný CONTRACT řídicí server
CREATE DATABASE CONTROL VYTVOŘTE LIBOVOLNÉ DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ALTER ANY DATABASEEVENT NOTIFICATION VYTVOŘIT DDL EVENT NOTIFICATION
CREATE DEFAULT ALTER řídicí server
CREATE FULLTEXT CATALOG Změnit libovolný FULLTEXT CATALOG řídicí server
CREATE FUNCTION ALTER řídicí server
CREATE MESSAGE TYPE Změnit libovolný MESSAGE TYPE řídicí server
CREATE PROCEDURE ALTER řídicí server
CREATE QUEUE ALTER řídicí server
CREATE REMOTE SERVICE BINDING Změnit libovolný REMOTE SERVICE BINDING řídicí server
CREATE ROLE Změnit libovolný ROLE řídicí server
CREATE ROUTE Změnit libovolný ROUTE řídicí server
CREATE RULE ALTER řídicí server
CREATE SCHEMA Změnit libovolný SCHEMA řídicí server
CREATE SERVICE Změnit libovolný SERVICE řídicí server
CREATE SYMMETRIC KEY Změnit libovolný SYMMETRIC KEY řídicí server
CREATE SYNONYM ALTER řídicí server
CREATE TABLE ALTER řídicí server
CREATE TYPE ALTER řídicí server
CREATE VIEW ALTER řídicí server
CREATE XML SCHEMA COLLECTION ALTER řídicí server
DELETE CONTROL řídicí server
EXECUTE CONTROL řídicí server
SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO SKRIPTU
Platí pro: SQL Server 2016 (13.x).
CONTROL řídicí server
INSERT CONTROL řídicí server
UKONČENÍ DATABASE PŘIPOJENÍ
Platí pro: Azure SQL Database.
CONTROL ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ
REFERENCES CONTROL řídicí server
SELECT CONTROL řídicí server
SHOWPLAN CONTROL ALTEROVÁ STOPA
PŘIHLÁŠENÍ K ODBĚRU OZNÁMENÍ DOTAZŮ CONTROL řídicí server
PŘEVEZMĚTE ODPOVĚDNOST CONTROL řídicí server
UNMASK CONTROL řídicí server
UPDATE CONTROL řídicí server
VIEW JAKÝKOLI COLUMN ENCRYPTION KEY CONTROL VIEW JAKÁKOLI DEFINICE
VIEW JAKÁKOLI MASTER KEY DEFINICE CONTROL VIEW JAKÁKOLI DEFINICE
VIEW DATABASE STAV VÝKONU

Platí pro: SQL Server 2022 (16.x) a novější verze.
VIEW DATABASE STÁT VIEW STAV VÝKONU SERVERU
VIEW DATABASE STAV ZABEZPEČENÍ

Platí pro: SQL Server 2022 (16.x) a novější verze.
VIEW DATABASE STÁT VIEW STAV ZABEZPEČENÍ SERVERU
VIEW DATABASE STÁT CONTROL VIEW STAV SERVERU
VIEW DEFINICE CONTROL VIEW JAKÁKOLI DEFINICE
VIEW DEFINICE VÝKONU

Platí pro: SQL Server 2022 (16.x) a novější verze.
VIEW DEFINICE VIEW JAKÁKOLI DEFINICE VÝKONU
VIEW DEFINICE ZABEZPEČENÍ

Platí pro: SQL Server 2022 (16.x) a novější verze.
VIEW DEFINICE VIEW JAKÁKOLI DEFINICE ZABEZPEČENÍ

Permissions

Objekt zabezpečení, který spouští tento příkaz (nebo objekt zabezpečení zadaný možností AS), musí mít oprávnění CONTROL k databázi nebo vyšší oprávnění, které implikuje oprávnění CONTROL k databázi.

Pokud používáte možnost AS, musí zadaný objekt zabezpečení vlastnit databázi.

Examples

A. Odepření oprávnění k vytváření certifikátů

Následující příklad odmítne CREATE CERTIFICATE oprávnění k AdventureWorks2025 databázi uživateli MelanieK.

USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO

B. Odepření oprávnění REFERENCES k roli aplikace

Následující příklad odmítne REFERENCES oprávnění k AdventureWorks2025 databázi k roli AuditMonitoraplikace .

Platí pro: SQL Server 2008 (10.0.x) a novější, SQL Database.

USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO

C. Odmítnutí VIEW DEFINICE pomocí KASKÁDY

Následující příklad odmítne VIEW DEFINITION oprávnění k AdventureWorks2025 databázi uživateli CarmineEs a všem objektům zabezpečení, CarmineEs kterým bylo uděleno VIEW DEFINITION oprávnění.

USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO