Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Nekar behörighet till ett huvudnamn. Förhindrar att huvudkontot ärver behörigheten via dess grupp- eller rollmedlemskap. DENY har företräde framför alla behörigheter, förutom att NEKA inte gäller för objektägare eller medlemmar i den fasta serverrollen sysadmin. Säkerhetsanteckning Medlemmar i den fasta sysadmin-serverrollen och objektägare kan inte nekas behörigheter."
Transact-SQL syntaxkonventioner
Syntax
Syntax för SQL Server, Azure SQL Database och Fabric SQL-databas
-- 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 }
Syntax för Azure Synapse Analytics och Parallel Data Warehouse och 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
Det här alternativet nekar inte alla möjliga behörigheter. Att neka ALLA motsvarar nekande av följande behörigheter.
Om skyddsbar är en databas betyder ALL SÄKERHETSKOPIERINGSDATABAS, SÄKERHETSKOPIERINGSLOGG, SKAPA DATABAS, SKAPA STANDARD, SKAPA FUNKTION, SKAPA PROCEDUR, SKAPA REGEL, SKAPA TABELL OCH SKAPA VY.
Om skyddsbar är en skalär funktion betyder ALL EXECUTE och REFERENCES.
Om skyddsbar är en tabellvärdesfunktion betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.
Om skyddsbara är en lagrad procedur betyder ALL EXECUTE.
Om skyddsbar är en tabell betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.
Om skyddsbar är en vy betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.
Note
SYNTAXEN DENY ALL är inaktuell. Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Neka specifika behörigheter i stället.
PRIVILEGES
Ingår för ISO-efterlevnad. Ändrar inte beteendet för ALLA.
permission
Är namnet på en behörighet. Giltiga mappningar av behörigheter till skyddsbara filer beskrivs i underavsnitten nedan.
column
Anger namnet på en kolumn i en tabell där behörigheter nekas. Parenteserna () krävs.
class
Anger klassen för den skyddsbara som behörigheten nekas för. Omfångskvalificeraren :: krävs.
securable
Anger det skydd som behörigheten nekas på.
TO principal
Är namnet på ett huvudnamn. De huvudnamn som behörigheter för en skyddsbar kan nekas till varierar beroende på vilka som kan skyddas. Se de säkerhetsbara avsnitten nedan för giltiga kombinationer.
CASCADE
Anger att behörigheten nekas till det angivna huvudkontot och till alla andra huvudnamn som huvudkontot har beviljat behörigheten till. Krävs när huvudkontot har behörigheten GRANT OPTION.
AS principal
Anger det huvudnamn som huvudkontot som kör frågan härleder sin rätt att neka behörigheten.
Använd AS-huvudsatsen för att ange att huvudkontot som registrerats som nekare av behörigheten ska vara ett annat huvudnamn än den person som kör -instruktionen. Anta till exempel att användaren Mary är principal_id 12 och att användaren Raul är huvudnamn 15. Mary kör DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nu visar tabellen sys.database_permissions att grantor_principal_id av neka-instruktionen var 15 (Raul) trots att instruktionen faktiskt kördes av användaren 13 (Mary).
Användningen av AS i den här instruktionen innebär inte möjligheten att personifiera en annan användare.
Remarks
Den fullständiga syntaxen för DENY-instruktionen är komplex. Syntaxdiagrammet ovan förenklades för att uppmärksamma dess struktur. Fullständig syntax för att neka behörigheter för specifika skyddsbara objekt beskrivs i avsnitten nedan.
NEKA misslyckas om CASCADE inte anges när du nekar en behörighet till ett huvudnamn som har beviljats behörigheten med GRANT OPTION angivet.
Den sp_helprotect system lagrade proceduren rapporterar behörigheter på databasnivå.
I Microsoft Fabric kan CREATE USER inte köras explicit för närvarande. När GRANT eller DENY körs skapas användaren automatiskt.
Caution
En nekande på tabellnivå har inte företräde framför ett GRANT på kolumnnivå. Den här inkonsekvensen i behörighetshierarkin har bevarats för bakåtkompatibilitetens skull. Den tas bort i en framtida version.
Caution
Om du nekar KONTROLL-behörighet för en databas nekas implicit CONNECT-behörighet för databasen. Ett huvudnamn som nekas BEHÖRIGHETSKONTROLL för en databas kommer inte att kunna ansluta till databasen.
Caution
Om du nekar CONTROL SERVER-behörighet nekas implicit CONNECT SQL-behörighet på servern. Ett huvudnamn som nekas behörigheten KONTROLLSERVER på en server kommer inte att kunna ansluta till den servern.
Permissions
Anroparen (eller det huvudnamn som anges med AS-alternativet) måste ha antingen KONTROLL-behörighet för skyddsbara, eller en högre behörighet som innebär KONTROLL-behörighet för den säkra. Om du använder AS-alternativet måste det angivna huvudkontot äga det skydd som en behörighet nekas på.
Beviljare av CONTROL SERVER-behörighet, till exempel medlemmar i den fasta serverrollen sysadmin, kan neka alla behörigheter på alla skyddsbara på servern. Behörighetsbeviljare för CONTROL på databasen, till exempel medlemmar i db_owner fast databasroll, kan neka alla behörigheter som kan säkras i databasen. Beviljare av CONTROL-behörighet för ett schema kan neka alla behörigheter för alla objekt i schemat. Om AS-satsen används måste det angivna huvudkontot äga det skydd som behörigheter nekas för.
Examples
I följande tabell visas de skyddsbara ämnena och de ämnen som beskriver den säkerhetsbara syntaxen.
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)