Kommentar
Å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
Nekar behörigheter på en server.
Transact-SQL syntaxkonventioner
Syntax
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argument
behörighet
Anger en behörighet som kan nekas på en server. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.
KASKAD
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 huvudpersonen har tillstånd med GRANT OPTION.
TILL <server_principal>
Anger det huvudnamn som behörigheten nekas till.
AS-<grantor_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.
SQL_Server_login
Anger en SQL Server-inloggning.
SQL_Server_login_mapped_to_Windows_login
Anger en SQL Server-inloggning som mappats till en Windows-inloggning.
SQL_Server_login_mapped_to_Windows_group
Anger en SQL Server-inloggning mappad till en Windows-grupp.
SQL_Server_login_mapped_to_certificate
Anger en SQL Server-inloggning mappad till ett certifikat.
SQL_Server_login_mapped_to_asymmetric_key
Anger en SQL Server-inloggning mappad till en asymmetrisk nyckel.
server_role
Anger en serverroll.
Anmärkningar
Behörigheter i serveromfånget kan endast nekas när den aktuella databasen är huvuddatabas.
Information om serverbehörigheter kan visas i sys.server_permissions katalogvy och information om serverhuvudnamn kan visas i sys.server_principals katalogvy. Information om medlemskap i serverroller kan visas i sys.server_role_members katalogvyn.
En server är den högsta nivån i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan nekas på en server visas i följande tabell.
| Serverbehörighet | Underförstått av serverbehörighet |
|---|---|
| ADMINISTRERA MASSÅTGÄRDER | KONTROLLSERVER |
| ÄNDRA NÅGON AVAILABILITY GROUP gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
KONTROLLSERVER |
| ÄNDRA ALLA ANSLUTNINGAR | KONTROLLSERVER |
| ÄNDRA NÅGON CREDENTIAL | KONTROLLSERVER |
| ÄNDRA NÅGON DATABASE | KONTROLLSERVER |
| ÄNDRA NÅGON ENDPOINT | KONTROLLSERVER |
| ÄNDRA NÅGON EVENT NOTIFICATION | KONTROLLSERVER |
| ÄNDRA NÅGON EVENT SESSION | KONTROLLSERVER |
| ÄNDRA EN LÄNKAD SERVER | KONTROLLSERVER |
| ÄNDRA NÅGON LOGIN | KONTROLLSERVER |
| ÄNDRA NÅGON SERVER AUDIT | KONTROLLSERVER |
| ÄNDRA NÅGON SERVER ROLE gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
KONTROLLSERVER |
| ÄNDRA RESURSER | KONTROLLSERVER |
| ÄNDRA SERVERTILLSTÅND | KONTROLLSERVER |
| ÄNDRA INSTÄLLNINGAR | KONTROLLSERVER |
| ALTER TRACE | KONTROLLSERVER |
| AUTENTISERA SERVER | KONTROLLSERVER |
| ANSLUT ALLA DATABASE gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
| ANSLUT SQL | KONTROLLSERVER |
| KONTROLLSERVER | KONTROLLSERVER |
| SKAPA VALFRITT DATABASE | ÄNDRA NÅGON DATABASE |
| CREATE AVAILABILITY GROUP gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ÄNDRA NÅGON AVAILABILITY GROUP |
| SKAPA DDL EVENT NOTIFICATION | ÄNDRA NÅGON EVENT NOTIFICATION |
| CREATE ENDPOINT | ÄNDRA NÅGON ENDPOINT |
| CREATE SERVER ROLE gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ÄNDRA NÅGON SERVER ROLE |
| SKAPA SPÅRNING EVENT NOTIFICATION | ÄNDRA NÅGON EVENT NOTIFICATION |
| EXTERN ÅTKOMST ASSEMBLY | KONTROLLSERVER |
| PERSONIFIERA ALLA LOGIN gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
| VÄLJ ALLA USER SKYDDSBARA gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
KONTROLLSERVER |
| AVSTÄNGNING | KONTROLLSERVER |
| OSÄKRA ASSEMBLY | KONTROLLSERVER |
| VIEW NÅGON DATABASE | VIEW VALFRI DEFINITION |
| VIEW VALFRI DEFINITION | KONTROLLSERVER |
| VIEW SERVERTILLSTÅND | ÄNDRA SERVERTILLSTÅND |
Följande tre serverbehörigheter lades till i SQL Server 2014 (12.x).
KOPPLA IN VILKEN SOM HELST DATABASE Tillstånd
Giv CONNECT ANY DATABASE till en inloggning som måste ansluta till alla databaser som för närvarande finns och till eventuella nya databaser som kan skapas i framtiden. Beviljar inte någon behörighet i någon databas utöver anslutning. Kombinera med SELECT ALL USER SECURABLES eller VIEW SERVER STATE för att låta en granskningsprocess visa all data eller alla databasstatus på instansen av SQL Server.
UTGER SIG FÖR ATT VARA NÅGON LOGIN Tillstånd
När den beviljas kan en mellannivåprocess personifiera kontot för klienter som ansluter till den, eftersom den ansluter till databaser. När du nekas kan en högprivilegierad inloggning blockeras från att personifiera andra inloggningar. En inloggning med KONTROLLSERVER behörighet kan till exempel blockeras från att personifiera andra inloggningar.
VÄLJ ALLA USER Tillstånd för VÄRDEPAPPER
När den beviljas kan en inloggning, till exempel en granskare, visa data i alla databaser som användaren kan ansluta till. När nekad, förhindrar åtkomst till objekt om de inte finns i sys- schema.
Behörigheter
Kräver kontrollserverbehörighet eller ägarskap för det skyddbara objektet. Om du använder AS-satsen måste det angivna huvudkontot äga det skydd som behörigheter nekas för.
Exempel
A. Neka CONNECT SQL-behörighet till en SQL Server-inloggning och huvudnamn som inloggningen har regranterat den till
I följande exempel nekas CONNECT SQL behörighet till SQL Server-inloggningen Annika och till de huvudnamn som hon har beviljat behörigheten till.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Neka CREATE ENDPOINT behörighet till en SQL Server-inloggning med AS-alternativet
I följande exempel nekas CREATE ENDPOINT behörighet till användaren ArifS. I exemplet används alternativet AS för att ange MandarP som det huvudnamn som det verkställande huvudkontot härleder utfärdaren från för att göra det.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Se även
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Serverbehörigheter (Transact-SQL)
REVOKE Serverbehörigheter (Transact-SQL)
behörighetshierarki (databasmotor)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)