Sdílet prostřednictvím


ODMÍTNOUT (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 objektu zabezpečení. Zabrání objektu zabezpečení v dědění oprávnění prostřednictvím jeho členství ve skupině nebo rolích. DenY má přednost před všemi oprávněními, s tím rozdílem, že DENY se nevztahuje na vlastníky objektů nebo členy pevné role serveru správce systému. Poznámka k zabezpečení Členové pevné role serveru sysadmin a vlastníci objektů nemohou být odepřena oprávnění."

Transact-SQL konvence syntaxe

Syntax

Syntaxe pro SQL Server, Azure SQL Database a databázi SQL Fabric

 
-- Simplified syntax for DENY  
DENY   { ALL [ PRIVILEGES ] } 
     | <permission>  [ ( column [ ,...n ] ) ] [ ,...n ]  
    [ ON [ <class> :: ] securable ] 
    TO principal [ ,...n ]   
    [ CASCADE] [ AS principal ]  
[;]

<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{ see the tables below }  

Syntaxe pro Azure Synapse Analytics a paralelní datový sklad a sklad Microsoft Fabric

DENY   
    <permission> [ ,...n ]  
    [ ON [ <class_> :: ] securable ]   
    TO principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

ALL
Tato možnost nezamítá všechna možná oprávnění. Odepření funkce ALL je ekvivalentem zamítnutí následujících oprávnění.

  • Pokud je zabezpečitelná databáze, ZNAMENÁ TO VŠE ZÁLOHOVACÍ DATABÁZE, PROTOKOL ZÁLOHOVÁNÍ, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE a CREATE VIEW.

  • Pokud je zabezpečitelná skalární funkce, znamená TO VŠECHNY příkazy EXECUTE a REFERENCES.

  • Pokud je zabezpečitelná funkce s hodnotou tabulky, ZNAMENÁ TO VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je zabezpečitelná uložená procedura, znamená to ALL execute.

  • Pokud je zabezpečitelná tabulka, znamená TO VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je zabezpečitelné zobrazení, znamená to VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

Note

Syntaxe DENY ALL je zastaralá. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho odepřít konkrétní oprávnění.

PRIVILEGES
Součástí je dodržování předpisů ISO. Nemění chování funkce ALL.

permission
Je název oprávnění. Platná mapování oprávnění k zabezpečitelným objektům jsou popsána v následujících dílčích tématech.

column
Určuje název sloupce v tabulce, u kterého jsou oprávnění odepřena. Jsou vyžadovány závorky ().

class
Určuje třídu zabezpečitelné, pro kterou je oprávnění odepřeno. Kvalifikátor oboru :: je povinný.

securable
Určuje zabezpečitelný, na kterém je oprávnění odepřeno.

TO ředitel
Je název objektu zabezpečení. Objekty zabezpečení, u kterých se dají zabezpečitelná oprávnění odepřít, se liší v závislosti na zabezpečitelném objektu. Platná kombinace najdete v níže uvedených tématech věnovaných zabezpečitelným konkrétním účelům.

CASCADE
Označuje, že oprávnění je odepřeno zadanému objektu zabezpečení a všem ostatním objektům zabezpečení, kterým objekt zabezpečení udělil oprávnění. Vyžaduje se, pokud má objekt zabezpečení oprávnění s možností GRANT OPTION.

AS ředitel
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í. Pomocí klauzule instančního objektu AS uveďte, že objekt zabezpečení zaznamenaný jako denátor oprávnění by měl být jiným objektem než osoba provádějící příkaz. Například předpokládáme, že uživatel Mary je principal_id 12 a uživatel Raul je instanční 15. Mary spustí DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nyní tabulka sys.database_permissions bude indikovat, že grantor_principal_id příkazu odepřít bylo 15 (Raul), i když byl příkaz skutečně proveden uživatelem 13 (Mary).

Použití AS v tomto prohlášení neznamená schopnost zosobnit jiného uživatele.

Remarks

Úplná syntaxe příkazu DENY je složitá. Výše uvedený diagram syntaxe byl zjednodušen tak, aby upoutat pozornost na jeho strukturu. Úplná syntaxe pro odepření oprávnění u konkrétních zabezpečitelných objektů je popsaná v níže uvedených tématech.

Deny selžou, pokud se při odepření oprávnění k objektu zabezpečení, kterému bylo uděleno oprávnění se zadaným parametrem GRANT OPTION, nezdaří.

Systémová uložená procedura sp_helprotect hlásí oprávnění k zabezpečitelné úrovni databáze.

V Microsoft Fabric nelze v současné době explicitně spustit příkaz CREATE USER. Po spuštění grantu nebo zamítnutí se uživatel vytvoří automaticky.

Caution

Odepření na úrovni tabulky nemá přednost před udělením na úrovni sloupce. Tato nekonzistence v hierarchii oprávnění byla zachována kvůli zpětné kompatibilitě. V budoucí verzi se odebere.

Caution

Odepření oprávnění CONTROL v databázi implicitně odmítne oprávnění CONNECT pro databázi. Objekt zabezpečení, který je odepřen oprávnění CONTROL pro databázi, se k této databázi nebude moct připojit.

Caution

Odepření oprávnění CONTROL SERVER implicitně odmítne oprávnění CONNECT SQL na serveru. Objekt zabezpečení, který je odepřen oprávnění CONTROL SERVER na serveru, se nebude moct k danému serveru připojit.

Permissions

Volající (nebo objekt zabezpečení zadaný možností AS) musí mít buď oprávnění CONTROL k zabezpečitelnému, nebo vyšší oprávnění, které implikuje oprávnění CONTROL k zabezpečitelnému. Pokud používáte možnost AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, ke kterému je oprávnění odepřeno.

Udělení oprávnění CONTROL SERVER, jako jsou členové pevné role serveru správce systému, mohou odepřít všechna oprávnění na jakémkoli zabezpečitelném serveru. Udělení oprávnění CONTROL k databázi, jako jsou členové db_owner pevné databázové role, mohou odepřít všechna oprávnění k jakémukoli zabezpečitelnému v databázi. Udělení oprávnění CONTROL schématu může odepřít jakékoli oprávnění k libovolnému objektu ve schématu. Pokud se použije klauzule AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, na kterém jsou oprávnění odepřena.

Examples

V následující tabulce jsou uvedeny zabezpečitelné položky a témata, která popisují syntaxi specifickou pro zabezpečitelnou.

Securables Syntax
Role aplikace Odepřít oprávnění objektu zabezpečení databáze (Transact-SQL)
Assembly Odepřít oprávnění sestavení (Transact-SQL)
Asymetrický klíč Odepřít asymetrická klíčová oprávnění (Transact-SQL)
Skupina dostupnosti Odepřít oprávnění skupiny dostupnosti (Transact-SQL)
Certificate Odepřít oprávnění certifikátu (Transact-SQL)
Contract Odepřít oprávnění služby Service Broker (Transact-SQL)
Database Odepřít oprávnění k databázi (Transact-SQL)
Přihlašovací údaje s vymezeným oborem databáze Odepřít přihlašovací údaje s vymezeným oborem databáze (Transact-SQL)
Endpoint Odepřít oprávnění koncového bodu (Transact-SQL)
Full-Text Katalog Odepřít oprávnění Full-Text (Transact-SQL)
Full-Text Stoplist Odepřít oprávnění Full-Text (Transact-SQL)
Function Odepřít oprávnění objektu (Transact-SQL)
Login Odepřít hlavní oprávnění serveru (Transact-SQL)
Typ zprávy Odepřít oprávnění služby Service Broker (Transact-SQL)
Object Odepřít oprávnění objektu (Transact-SQL)
Queue Odepřít oprávnění objektu (Transact-SQL)
Vazba vzdálené služby Odepřít oprávnění služby Service Broker (Transact-SQL)
Role Odepřít oprávnění objektu zabezpečení databáze (Transact-SQL)
Route Odepřít oprávnění služby Service Broker (Transact-SQL)
Schema Odepřít oprávnění schématu (Transact-SQL)
Seznam vlastností vyhledávání Odepřít oprávnění k seznamu vlastností vyhledávání (Transact-SQL)
Server odepřít serverová oprávnění (Transact-SQL)
Service Odepřít oprávnění služby Service Broker (Transact-SQL)
Uložená procedura Odepřít oprávnění objektu (Transact-SQL)
Symetrický klíč Odepřít oprávnění symetrického klíče (Transact-SQL)
Synonym Odepřít oprávnění objektu (Transact-SQL)
Systémové objekty Odepřít oprávnění systémového objektu (Transact-SQL)
Table Odepřít oprávnění objektu (Transact-SQL)
Typ Odepřít oprávnění typu (Transact-SQL)
User Odepřít oprávnění objektu zabezpečení databáze (Transact-SQL)
View Odepřít oprávnění objektu (Transact-SQL)
Kolekce schémat XML Odepřít oprávnění ke shromažďování schémat XML (Transact-SQL)

Viz také

ODVOLÁNÍ (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)