GRANT Serverbehörigheter (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Ger behörigheter på en server.

Transact-SQL syntaxkonventioner

Syntax

  
GRANT permission [ ,...n ]   
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]  
    [ 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  

Arguments

permission
Specificerar en behörighet som kan ges på en server. För en lista över behörigheterna, se avsnittet Anmärkningar senare i detta ämne.

TO <grantee_principal> Specificerar den princip som tillståndet ges till.

AS <grantor_principal> Specificerar den princip från vilken huvudpersonen som utför denna fråga härleder sin rätt att bevilja tillståndet.

MED GRANT OPTION
Anger att huvudkontot också kommer att ges möjlighet att bevilja den angivna behörigheten till andra huvudnamn.

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
Specificerar en användardefinierad serverroll.

Remarks

Behörigheter på serverns område kan endast beviljas när den aktuella databasen är master.

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örigheterna som kan ges på en server listas 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
ANSLUTA SQL-DATABAS 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 LOGIN

Gäller för: SQL Server 2022 (16.x) och senare versioner.
ÄNDRA NÅGON LOGIN
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
SHUTDOWN 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 inloggning beviljas kan den se data från alla schema-nivåobjekt, såsom tabeller, vyer och tabellvärda funktioner som finns där användarskrivbara scheman (vilket schema som helst utom sys och INFORMATION_SCHEMA) kan användas för att skapa användarobjekt. Denna behörighet gäller i alla databaser som användaren kan ansluta till. När den nekas förhindrar den åtkomst till alla objekt om de inte ingår i sys- eller INFORMATION_SCHEMA-schemat. Detta påverkar också metadata-synligheten för de täckta objekten, se även: Metadata Visibility Configuration.

Permissions

Beviljaren (eller det huvudnamn som anges med ALTERNATIVET AS) måste ha antingen behörigheten själv med GRANT OPTION eller en högre behörighet som innebär att behörigheten beviljas. Medlemmar i sysadmin-funktionen med fast server kan ge vilken behörighet som helst.

Examples

A. Att ge behörighet till en inloggning

Följande exempel ger CONTROL SERVER behörighet till SQL Server-inloggningenTerryEminhizer.

USE master;  
GRANT CONTROL SERVER TO TerryEminhizer;  
GO  

B. Att ge ett tillstånd som har GRANT tillstånd

Följande exempel ger ALTER ANY EVENT NOTIFICATION SQL Server-inloggning JanethEsteves rätt att ge den behörigheten till en annan inloggning.

USE master;  
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;  
GO  

C. Att ge behörighet till en serverroll

Följande exempel skapar en serverroll med namnet ITDevelopers. Den ger ALTER ANY DATABASE behörighet till ITDevelopers serverrollen..

USE master;  
CREATE SERVER ROLE ITDevelopers ;  
GRANT ALTER ANY DATABASE TO ITDevelopers ;  
GO  

Se även

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Serverbehörigheter (Transact-SQL)
REVOKE Serverbehörigheter (Transact-SQL)
Behörighetshierarki (databasmotor)
Principals (Database Engine)
Behörigheter (Database Engine)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)