Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure 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)