Dela via


Neka serverbehörigheter (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure 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 huvudkontot har behörigheten 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 VALFRI TILLGÄNGLIGHETSGRUPP

gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen).
KONTROLLSERVER
ÄNDRA ALLA ANSLUTNINGAR KONTROLLSERVER
ÄNDRA EVENTUELLA AUTENTISERINGSUPPGIFTER KONTROLLSERVER
ÄNDRA EN DATABAS KONTROLLSERVER
ÄNDRA VALFRI SLUTPUNKT KONTROLLSERVER
ÄNDRA HÄNDELSEMEDDELANDEN KONTROLLSERVER
ÄNDRA HÄNDELSESESSIONER KONTROLLSERVER
ÄNDRA EN LÄNKAD SERVER KONTROLLSERVER
ÄNDRA ALLA INLOGGNINGAR KONTROLLSERVER
ÄNDRA SERVERGRANSKNING KONTROLLSERVER
ÄNDRA VALFRI SERVERROLL

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 VALFRI DATABAS

gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen).
KONTROLLSERVER
ANSLUT SQL KONTROLLSERVER
KONTROLLSERVER KONTROLLSERVER
SKAPA VALFRI DATABAS ÄNDRA EN DATABAS
SKAPA TILLGÄNGLIGHETSGRUPP

gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen).
ÄNDRA VALFRI TILLGÄNGLIGHETSGRUPP
SKAPA DDL-HÄNDELSEMEDDELANDE ÄNDRA HÄNDELSEMEDDELANDEN
SKAPA SLUTPUNKT ÄNDRA VALFRI SLUTPUNKT
SKAPA SERVERROLL

gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen).
ÄNDRA VALFRI SERVERROLL
SKAPA SPÅRNINGSHÄNDELSEAVISERING ÄNDRA HÄNDELSEMEDDELANDEN
EXTERN ÅTKOMSTSAMMANSÄTTNING KONTROLLSERVER
PERSONIFIERA ALL INLOGGNING

gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen).
KONTROLLSERVER
VÄLJ ALLA SKYDDSBARA ANVÄNDARE

gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen).
KONTROLLSERVER
AVSTÄNGNING KONTROLLSERVER
OSÄKER SAMMANSÄTTNING KONTROLLSERVER
VISA VALFRI DATABAS VISA VALFRI DEFINITION
VISA VALFRI DEFINITION KONTROLLSERVER
VISA SERVERTILLSTÅND ÄNDRA SERVERTILLSTÅND

Följande tre serverbehörigheter lades till i SQL Server 2014 (12.x).

ANSLUT ALLA databasbehörigheter
Bevilja ANSLUT ALLA DATABASER till en inloggning som måste ansluta till alla databaser som för närvarande finns och till alla 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 or VIEW SERVER STATE för att tillåta en granskningsprocess att visa alla data eller alla databastillstånd på SQL Server-instansen.

PERSONIFIERA ALLA inloggningsbehörigheter
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 BEHÖRIGHETER FÖR ANVÄNDARE
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 alternativet AS

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)
NEKA (Transact-SQL)
neka serverbehörigheter (Transact-SQL)
ÅTERKALLA 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)