Sdílet prostřednictvím


Odepřít 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í VŠECH je ekvivalentní zamítnutí následujících oprávnění: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE a CREATE 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
SPRÁVA HROMADNÝCH OPERACÍ DATABÁZE
Platí pro: SQL Database.
CONTROL řídicí server
ALTER CONTROL ZMĚNIT JAKOUKOLI DATABÁZI
ZMĚNIT JAKOUKOLI APLIKAČNÍ ROLI ALTER řídicí server
ZMĚNIT JAKOUKOLI SLOŽKU ALTER řídicí server
ZMĚNIT JAKÝKOLI ASYMETRICKÝ KLÍČ ALTER řídicí server
Upravit jakýkoli certifikát ALTER řídicí server
ZMĚNIT JAKÝKOLI KLÍČ ZAŠIFROVÁNÍ SLOUPCE ALTER řídicí server
ZMĚNA DEFINICE LIBOVOLNÉHO SLOUPCE MASTER KLÍČE ALTER řídicí server
ZMĚNIT JAKOUKOLI SMLOUVU ALTER řídicí server
ZMĚNIT LIBOVOLNÝ AUDIT DATABÁZE ALTER UPRAVIT JAKÝKOLI AUDIT SERVERU
ALTER ANY DATABÁZOVÝ DDL TRIGGER ALTER řídicí server
UPRAVIT JAKÁKOLI OZNÁMENÍ O UDÁLOSTI DATABÁZE ALTER ZMĚNIT JAKÉKOLI OZNÁMENÍ O UDÁLOSTI
ZMĚNA JAKÉHOKOLI SEZENÍ UDÁLOSTÍ DATABÁZE
Platí pro: Azure SQL Database.
ALTER ZMĚNIT JAKOUKOLI RELACI UDÁLOSTÍ
Změnit jakékoliv nastavení ve vyšší úrovni databáze
platí pro: SQL Server 2016 (13.x) a novější, SQL Database.
CONTROL řídicí server
ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR ALTER řídicí server
UPRAVIT JAKÝKOLIV EXTERNÍ ZDROJ DAT ALTER řídicí server
ZMĚNIT JAKÝKOLI EXTERNÍ FORMÁT SOUBORU ALTER řídicí server
UPRAVTE JAKOUKOLI EXTERNÍ KNIHOVNU
Platí pro: SQL Server 2017 (14.x).
CONTROL řídicí server
ZMĚNIT JAKÝKOLI FULLTEXTOVÝ KATALOG ALTER řídicí server
ZMĚNIT JAKOUKOLIV MASKU CONTROL řídicí server
ZMĚNIT JAKÝKOLI TYP ZPRÁVY ALTER řídicí server
"Povolit úpravy jakéhokoliv vzdáleného služebního propojení" ALTER řídicí server
ZMĚNIT JAKOUKOLI ROLI ALTER řídicí server
ZMĚNIT JAKOUKOLI TRASU ALTER řídicí server
ZMĚNIT JAKOUKOLI BEZPEČNOSTNÍ POLITIKU
Platí pro: SQL Server 2016 (13.x) a novější, Azure SQL Database.
CONTROL řídicí server
ZMĚNIT JAKÉKOLIV SCHÉMA ALTER řídicí server
ZMĚNIT LIBOVOLNOU SLUŽBU ALTER řídicí server
ZMĚNIT JAKÝKOLIV SYMMETRICKÝ KLÍČ ALTER řídicí server
ZMĚNA LIBOVOLNÉHO UŽIVATELE ALTER řídicí server
AUTHENTICATE CONTROL OVĚŘENÍ SERVERU
ZÁLOHOVAT DATABÁZI CONTROL řídicí server
ZÁLOHOVACÍ ZÁZNAM CONTROL řídicí server
CHECKPOINT CONTROL řídicí server
CONNECT REPLIKACE CONNECT řídicí server
REPLIKACE CONNECT CONTROL řídicí server
CONTROL CONTROL řídicí server
VYTVOŘIT AGREGÁT ALTER řídicí server
CREATE ASSEMBLY (vytvořit sestavení) ZMĚNIT JAKOUKOLI SLOŽKU řídicí server
VYTVOŘENÍ ASYMETRICKÉHO KLÍČE ZMĚNIT JAKÝKOLI ASYMETRICKÝ KLÍČ řídicí server
VYTVOŘENÍ CERTIFIKÁTU Upravit jakýkoli certifikát řídicí server
VYTVOŘIT SMLOUVU ZMĚNIT JAKOUKOLI SMLOUVU řídicí server
VYTVOŘIT DATABÁZI CONTROL VYTVOŘENÍ JAKÉKOLI DATABÁZE
VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL DATABÁZE UPRAVIT JAKÁKOLI OZNÁMENÍ O UDÁLOSTI DATABÁZE VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL
VYTVOŘIT VÝCHOZÍ ALTER řídicí server
VYTVOŘIT FULLTEXT KATALOG ZMĚNIT JAKÝKOLI FULLTEXTOVÝ KATALOG řídicí server
VYTVOŘIT FUNKCI ALTER řídicí server
VYTVOŘENÍ TYPU ZPRÁVY ZMĚNIT JAKÝKOLI TYP ZPRÁVY řídicí server
VYTVOŘENÍ POSTUPU ALTER řídicí server
VYTVOŘIT FRONTU ALTER řídicí server
VYTVOŘENÍ VAZBY VZDÁLENÉ SLUŽBY "Povolit úpravy jakéhokoliv vzdáleného služebního propojení" řídicí server
VYTVOŘIT ROLI ZMĚNIT JAKOUKOLI ROLI řídicí server
VYTVOŘIT TRASU ZMĚNIT JAKOUKOLI TRASU řídicí server
VYTVOŘIT PRAVIDLO ALTER řídicí server
VYTVOŘIT SCHÉMA ZMĚNIT JAKÉKOLIV SCHÉMA řídicí server
VYTVOŘIT SLUŽBU ZMĚNIT LIBOVOLNOU SLUŽBU řídicí server
VYTVOŘENÍ SYMETRICKÉHO KLÍČE ZMĚNIT JAKÝKOLIV SYMMETRICKÝ KLÍČ řídicí server
VYTVOŘIT SYNONYMUM ALTER řídicí server
CREATE TABLE ALTER řídicí server
VYTVOŘIT TYP ALTER řídicí server
VYTVOŘIT ZOBRAZENÍ ALTER řídicí server
VYTVOŘENÍ KOLEKCE SCHÉMAT XML 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
ZRUŠIT PŘIPOJENÍ K DATABÁZI
Platí pro: Azure SQL Database.
CONTROL ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ
REFERENCES CONTROL řídicí server
SELECT CONTROL řídicí server
SHOWPLAN CONTROL ALTER TRACE
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
ZOBRAZENÍ LIBOVOLNÉHO ŠIFROVACÍHO KLÍČE SLOUPCE CONTROL Zobrazte jakoukoli definici
ZOBRAZENÍ DEFINICE HLAVNÍHO KLÍČE CONTROL Zobrazte jakoukoli definici
ZOBRAZENÍ STAVU DATABÁZE CONTROL ZOBRAZIT STAV SERVERU
ZOBRAZIT DEFINICI CONTROL Zobrazte jakoukoli definici

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. Odepření definice zobrazení pomocí CASCADE

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

Viz také