GRANT Serverrechten (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Geeft rechten op een server.

Transact-SQL syntaxis-conventies

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
Specificeert een toestemming die op een server kan worden verleend. Zie de sectie Opmerkingen verderop in dit onderwerp voor een lijst met machtigingen.

TO <grantee_principal> Specificeert de principe aan wie de toestemming wordt verleend.

AS <grantor_principal> Specificeert de principal waaruit de principal die deze query uitvoert zijn recht afleidt om de toestemming te verlenen.

MET GRANT OPTIE
Geeft aan dat de principal ook de mogelijkheid krijgt om de opgegeven machtiging aan andere principals te verlenen.

SQL_Server_login
Hiermee geeft u een SQL Server-aanmelding op.

SQL_Server_login_mapped_to_Windows_login
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een Windows-aanmelding.

SQL_Server_login_mapped_to_Windows_group
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een Windows-groep.

SQL_Server_login_mapped_to_certificate
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een certificaat.

SQL_Server_login_mapped_to_asymmetric_key
Hiermee geeft u een SQL Server-aanmelding die is toegewezen aan een asymmetrische sleutel.

server_role
Specificeert een door de gebruiker gedefinieerde serverrol.

Remarks

Rechten op de serverscope kunnen alleen worden verleend wanneer de huidige database master is.

Informatie over servermachtigingen kan worden weergegeven in de sys.server_permissions catalogusweergave en informatie over server-principals kan worden weergegeven in de sys.server_principals catalogusweergave. Informatie over het lidmaatschap van serverfuncties kan worden weergegeven in de sys.server_role_members catalogusweergave.

Een server is het hoogste niveau van de machtigingshiërarchie. De meest specifieke en beperkte rechten die op een server kunnen worden verleend, staan in de volgende tabel.

Servermachtiging Impliciet door servermachtiging
BULKBEWERKINGEN BEHEREN besturingsserver
WIJZIG EEN AVAILABILITY GROUP

Van toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie).
besturingsserver
ELKE VERBINDING WIJZIGEN besturingsserver
WIJZIG EEN CREDENTIAL besturingsserver
WIJZIG EEN DATABASE besturingsserver
WIJZIG EEN ENDPOINT besturingsserver
WIJZIG EEN EVENT NOTIFICATION besturingsserver
WIJZIG EEN EVENT SESSION besturingsserver
EEN GEKOPPELDE SERVER WIJZIGEN besturingsserver
WIJZIG EEN LOGIN besturingsserver
WIJZIG EEN SERVER AUDIT besturingsserver
WIJZIG EEN SERVER ROLE

Van toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie).
besturingsserver
WIJZIG HULPBRONNEN besturingsserver
STATUS VAN ALTER SERVER besturingsserver
INSTELLINGEN WIJZIGEN besturingsserver
ALTER TRACE (gebruikersmachtiging voor het traceren van gebeurtenissen) besturingsserver
VERIFICATIESERVER besturingsserver
VERBIND ELKE DATABASE

Van toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie).
besturingsserver
VERBINDING MAKEN MET SQL besturingsserver
besturingsserver besturingsserver
MAAK ELKE DATABASE WIJZIG EEN DATABASE
CREATE AVAILABILITY GROUP

Van toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie).
WIJZIG EEN AVAILABILITY GROUP
CREATE DDL EVENT NOTIFICATION WIJZIG EEN EVENT NOTIFICATION
CREATE ENDPOINT WIJZIG EEN ENDPOINT
CREATE LOGIN

Van toepassing op: SQL Server 2022 (16.x) en latere versies.
WIJZIG EEN LOGIN
CREATE SERVER ROLE

Van toepassing op: SQL Server (SQL Server 2012 (11.x) tot huidige versie).
WIJZIG EEN SERVER ROLE
MAAK TRACE EVENT NOTIFICATION WIJZIG EEN EVENT NOTIFICATION
EXTERNE TOEGANG ASSEMBLY besturingsserver
IMITEER EEN LOGIN

Van toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie).
besturingsserver
SELECTEER ALLE USER BEVEILIGBARE GOEDEREN

Van toepassing op: SQL Server (SQL Server 2014 (12.x) tot huidige versie).
besturingsserver
SHUTDOWN besturingsserver
ONVEILIG ASSEMBLY besturingsserver
VIEW ELKE DATABASE VIEW ELKE DEFINITIE
VIEW ELKE DEFINITIE besturingsserver
VIEW SERVERSTATUS STATUS VAN ALTER SERVER

De volgende drie servermachtigingen zijn toegevoegd in SQL Server 2014 (12.x).

VERBIND ELKE DATABASE Toestemming
Ken CONNECT ANY DATABASE toe aan een login die verbinding moet maken met alle bestaande databases en met eventuele nieuwe databases die in de toekomst kunnen worden aangemaakt. Verleent geen machtigingen in een database die geen verbinding kan maken. Combineer met SELECT ALL USER SECURABLES of VIEW SERVER STATE om een auditproces in staat te stellen alle data of databasetoestanden op de instantie van SQL Server te bekijken.

IMITEER EEN LOGIN Toestemming
Wanneer dit wordt verleend, kan een proces in de middelste laag het account imiteren van clients die er verbinding mee maken, omdat het verbinding maakt met databases. Wanneer dit wordt geweigerd, kan een aanmelding met hoge bevoegdheden worden geblokkeerd voor het imiteren van andere aanmeldingen. Een aanmelding met CONTROL SERVER- machtiging kan bijvoorbeeld worden geblokkeerd voor het imiteren van andere aanmeldingen.

SELECTEER ALLES USER Toestemming voor VERZEKERBARE Goederen
Wanneer toegekend, kan een login gegevens bekijken van alle schema-niveau objecten, zoals tabellen, weergaven en tabelwaardige functies die zich bevinden in door gebruikers geschreven schema's (elk schema behalve sys en INFORMATION_SCHEMA) kunnen worden gebruikt om gebruikersobjecten te maken. Deze toestemming geldt in alle databases waar de gebruiker verbinding mee kan maken. Wanneer het wordt geweigerd, voorkomt het toegang tot alle objecten, tenzij deze zich in het sys- of INFORMATION_SCHEMA-schema bevinden. Dit heeft ook invloed op de zichtbaarheid van metadata van de bedekte objecten . Zie ook: Metadata Visibility Configuration.

Permissions

De grantor (of de principal die is opgegeven met de AS-optie) moet de machtiging zelf hebben met GRANT OPTION of een hogere machtiging die impliceert dat de machtiging wordt verleend. Leden van de sysadmin fixed server-rol kunnen elke toestemming geven.

Examples

A. Een toestemming verlenen voor een inloggen

Het volgende voorbeeld verleent CONTROL SERVER toestemming aan de SQL Server-login TerryEminhizer.

USE master;  
GRANT CONTROL SERVER TO TerryEminhizer;  
GO  

B. Een toestemming verlenen die toestemming heeft GRANT

Het volgende voorbeeld verleent ALTER ANY EVENT NOTIFICATION SQL Server-login JanethEsteves het recht om die toestemming aan een andere login te geven.

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

C. Een machtiging verlenen aan een serverrol

Het volgende voorbeeld creëert een serverrol genaamd ITDevelopers. Het geeft toestemming ALTER ANY DATABASE voor de ITDevelopers serverrol..

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

Zie ook

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Servermachtigingen (Transact-SQL)
REVOKE Servermachtigingen (Transact-SQL)
Machtigingshiërarchie (Database Engine)
Principals (Database Engine)
Toestemmingen (Database Engine)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)