Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Een machtiging voor een principal wordt geweigerd. Hiermee voorkomt u dat die principal de machtiging overneemt via de groep of rollidmaatschappen. DENY heeft voorrang op alle machtigingen, behalve dat DENY niet van toepassing is op objecteigenaren of leden van de vaste serverfunctie sysadmin. Beveiligingsnotitie Leden van de vaste serverfunctie sysadmin en objecteigenaren kunnen geen machtigingen weigeren.
Transact-SQL syntaxis-conventies
Syntax
Syntaxis voor SQL Server, Azure SQL Database en Fabric SQL-database
-- 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 }
Syntaxis voor Azure Synapse Analytics en Parallel Data Warehouse en Microsoft Fabric Warehouse
DENY
<permission> [ ,...n ]
[ ON [ <class_> :: ] securable ]
TO principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
ALL
Met deze optie worden niet alle mogelijke machtigingen geweigerd. Het weigeren van ALL is gelijk aan het weigeren van de volgende machtigingen.
Als de beveiligbare database een database is, betekent ALLE BACK-UPDATABASE, BACK-UPLOGBOEK, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE en CREATE VIEW.
Als de beveiligbare functie een scalaire functie is, betekent ALL EXECUTE en REFERENCES.
Als de beveiligbare functie een tabelwaarde is, betekent ALL DELETE, INSERT, REFERENCES, SELECT en UPDATE.
Als de beveiligbare procedure een opgeslagen procedure is, betekent ALL EXECUTE.
Als het beveiligbare een tabel is, betekent ALLE VERWIJDEREN, INVOEGEN, VERWIJZINGEN, SELECT en BIJWERKEN.
Als de beveiligbare weergave een weergave is, betekent ALLES VERWIJDEREN, INVOEGEN, VERWIJZINGEN, SELECTEREN en BIJWERKEN.
Note
De syntaxis DENY ALL is afgeschaft. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Weiger in plaats daarvan specifieke machtigingen.
PRIVILEGES
Opgenomen voor ISO-naleving. Het gedrag van ALL wordt niet gewijzigd.
permission
Is de naam van een machtiging. De geldige toewijzingen van machtigingen voor beveiligbare objecten worden beschreven in de onderstaande subonderwerpen.
column
Hiermee geeft u de naam van een kolom in een tabel waarop machtigingen worden geweigerd. De haakjes () zijn vereist.
class
Hiermee geeft u de klasse van de beveiligbare waarop de machtiging wordt geweigerd. De kwalificatie voor het bereik :: is vereist.
securable
Hiermee geeft u de beveiligbare waarop de machtiging wordt geweigerd.
TO principal
Is de naam van een principal. De principals waaraan machtigingen voor een beveiligbaar kunnen worden geweigerd, variëren, afhankelijk van de beveiligbare. Zie de beveiligbare onderwerpen die hieronder worden vermeld voor geldige combinaties.
CASCADE
Geeft aan dat de machtiging wordt geweigerd aan de opgegeven principal en aan alle andere principals waaraan de principal de machtiging heeft verleend. Vereist wanneer de principal de machtiging met GRANT OPTION heeft.
AS principal
Hiermee geeft u de principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging te weigeren.
Gebruik de AS-principalcomponent om aan te geven dat de principal die is vastgelegd als de denier van de machtiging een andere principal moet zijn dan de persoon die de instructie uitvoert. Stel dat gebruiker Mary principal_id 12 is en gebruiker Raul principal 15 is. Mary voert DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nu geeft de sys.database_permissions tabel aan dat de grantor_principal_id van de instructie weigeren 15 (Raul) was, ook al is de instructie daadwerkelijk uitgevoerd door gebruiker 13 (Mary).
Het gebruik van AS in deze instructie impliceert niet de mogelijkheid om een andere gebruiker te imiteren.
Remarks
De volledige syntaxis van de instructie DENY is complex. Het bovenstaande syntaxisdiagram is vereenvoudigd om de aandacht te vestigen op de structuur ervan. Volledige syntaxis voor het weigeren van machtigingen voor specifieke beveiligbare objecten wordt beschreven in de onderstaande onderwerpen.
WEIGEREN mislukt als TRAPSGEWIJS niet is opgegeven bij het weigeren van een machtiging voor een principal waaraan die machtiging is verleend met GRANT OPTION opgegeven.
De sp_helprotect systeem opgeslagen procedure rapporteert machtigingen voor een beveiligbaar databaseniveau.
In Microsoft Fabric kan CREATE USER momenteel niet expliciet worden uitgevoerd. Wanneer GRANT of DENY wordt uitgevoerd, wordt de gebruiker automatisch gemaakt.
Caution
Een DENY op tabelniveau heeft geen prioriteit boven een GRANT op kolomniveau. Deze inconsistentie in de machtigingshiërarchie is behouden omwille van achterwaartse compatibiliteit. Deze wordt verwijderd in een toekomstige release.
Caution
Als u DE CONTROL-machtiging voor een database weigert, wordt de machtiging CONNECT voor de database impliciet geweigerd. Een principal die de CONTROL-machtiging voor een database wordt geweigerd, kan geen verbinding maken met die database.
Caution
Als u de MACHTIGING CONTROL SERVER weigert, wordt de SQL-machtiging CONNECT impliciet geweigerd op de server. Een principal die de machtiging CONTROL SERVER op een server wordt geweigerd, kan geen verbinding maken met die server.
Permissions
De aanroeper (of de principal die is opgegeven met de AS-optie) moet een CONTROL-machtiging hebben voor de beveiligbare optie of een hogere machtiging die CONTROL-machtiging impliceert voor het beveiligbare. Als u de AS-optie gebruikt, moet de opgegeven principal eigenaar zijn van het beveiligbare waarvoor een machtiging wordt geweigerd.
Grantees van CONTROL SERVER-machtiging, zoals leden van de vaste serverfunctie sysadmin, kunnen elke machtiging voor elk beveiligbaar op de server weigeren. Grantees van CONTROL-machtigingen voor de database, zoals leden van de db_owner vaste databaserol, kunnen elke machtiging voor een beveiligbare in de database weigeren. Grantees of CONTROL permission on a schema can deny any permission on any object in the schema. Als de AS-component wordt gebruikt, moet de opgegeven principal eigenaar zijn van het beveiligbare waarvoor machtigingen worden geweigerd.
Examples
De volgende tabel bevat de beveiligbare items en de onderwerpen die de beveiligbare specifieke syntaxis beschrijven.
See Also
REVOKE (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)