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 Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Verleent machtigingen voor een database in SQL Server.
Transact-SQL syntaxis-conventies
Syntax
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission>::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
toestemming Hiermee geeft u een machtiging op die kan worden verleend voor een database. Zie de sectie Opmerkingen verderop in dit onderwerp voor een lijst met machtigingen.
MET DEZE optie worden niet alle mogelijke machtigingen verleend. Het verlenen van ALL is gelijk aan het verlenen van de volgende machtigingen: BACK-UPDATABASE, BACK-UPLOGBOEK, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE en CREATE VIEW.
BEVOEGDHEDEN opgenomen voor ANSI-92-naleving. Het gedrag van ALL wordt niet gewijzigd.
MET GRANT OPTION Geeft aan dat de principal ook de mogelijkheid krijgt om de opgegeven machtiging aan andere principals te verlenen.
AS <database_principal> Hiermee geeft u een principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging te verlenen.
Database_user Hiermee geeft u een databasegebruiker.
Database_role Hiermee geeft u een databaserol op.
Application_rolevan toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database
Hiermee geeft u een toepassingsrol op.
Database_user_mapped_to_Windows_Uservan toepassing op: SQL Server 2008 (10.0.x) en hoger
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-gebruiker.
Database_user_mapped_to_Windows_Groupvan toepassing op: SQL Server 2008 (10.0.x) en hoger
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-groep.
Database_user_mapped_to_certificatevan toepassing op: SQL Server 2008 (10.0.x) en hoger
Hiermee geeft u een databasegebruiker die is toegewezen aan een certificaat.
Database_user_mapped_to_asymmetric_keyvan toepassing op: SQL Server 2008 (10.0.x) en hoger
Hiermee geeft u een databasegebruiker die is toegewezen aan een asymmetrische sleutel.
Database_user_with_no_login Hiermee geeft u een databasegebruiker zonder bijbehorende principal op serverniveau op.
Remarks
Important
Een combinatie van ALTER- en REFERENCE-machtigingen in sommige gevallen kan de verlenende gebruiker toestaan om gegevens te bekijken of niet-geautoriseerde functies uit te voeren. Bijvoorbeeld: Een gebruiker met de machtiging ALTER voor een tabel en EEN VERWIJZINGsmachtiging voor een functie kan een berekende kolom maken via een functie en deze laten uitvoeren. In dit geval moet de gebruiker ook een SELECT-machtiging hebben voor de berekende kolom.
Een database is een beveiligbaar dat is opgenomen door de server die het bovenliggende element in de machtigingshiërarchie is. De meest specifieke en beperkte machtigingen die voor een database kunnen worden verleend, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze door implicatie bevatten.
| Database-toestemming | Impliciet door databasemachtiging | Impliciet door servermachtiging |
|---|---|---|
| DE DATABASE BULKOPERATIES BEHEEREN Van toepassing op: SQL Database. |
CONTROL | besturingsserver |
| ALTER | CONTROL | ELKE DATABASE WIJZIGEN |
| ELKE TOEPASSINGSROL WIJZIGEN | ALTER | besturingsserver |
| ELKE ASSEMBLY WIJZIGEN | ALTER | besturingsserver |
| ASYMMETRISCHE SLEUTEL WIJZIGEN | ALTER | besturingsserver |
| ELK CERTIFICAAT WIJZIGEN | ALTER | besturingsserver |
| EEN KOLOMVERSLEUTELINGSSLEUTEL WIJZIGEN | ALTER | besturingsserver |
| EEN KOLOMHOOFDSLEUTELDEFINITIE WIJZIGEN | ALTER | besturingsserver |
| EEN CONTRACT WIJZIGEN | ALTER | besturingsserver |
| DATABASECONTROLE WIJZIGEN | ALTER | SERVERCONTROLE WIJZIGEN |
| EEN DDL-TRIGGER VOOR DATABASES WIJZIGEN | ALTER | besturingsserver |
| ELKE MELDING VOOR DATABASE-GEBEURTENIS WIJZIGEN | ALTER | GEBEURTENISMELDING WIJZIGEN |
| EEN GEBEURTENISSESSIE VOOR DE DATABASE WIJZIGEN Van toepassing op: SQL Database. |
ALTER | EEN GEBEURTENISSESSIE WIJZIGEN |
| CONFIGURATIE VAN DATABASEBEREIK WIJZIGEN van toepassing op: SQL Server 2016 (13.x) en hoger, SQL Database. |
CONTROL | besturingsserver |
| ELKE DATASPACE WIJZIGEN | ALTER | besturingsserver |
| ELKE EXTERNE GEGEVENSBRON WIJZIGEN | ALTER | besturingsserver |
| WIJZIGEN VAN ELKE EXTERNE BESTANDSINDELING | ALTER | besturingsserver |
| EEN EXTERNE BIBLIOTHEEK WIJZIGEN Van toepassing op: SQL Server 2017 (14.x). |
CONTROL | besturingsserver |
| ELKE VOLLEDIGE TEKSTCATALOGUS WIJZIGEN | ALTER | besturingsserver |
| EEN MASKER WIJZIGEN | CONTROL | besturingsserver |
| ELK BERICHTTYPE WIJZIGEN | ALTER | besturingsserver |
| EEN EXTERNE SERVICEBINDING WIJZIGEN | ALTER | besturingsserver |
| ELKE ROL WIJZIGEN | ALTER | besturingsserver |
| ELKE ROUTE WIJZIGEN | ALTER | besturingsserver |
| EEN SCHEMA WIJZIGEN | ALTER | besturingsserver |
| BEVEILIGINGSBELEID WIJZIGEN Van toepassing op: Azure SQL Database. |
CONTROL | besturingsserver |
| EVENTUELE GEVOELIGHEIDSCLASSIFICATIE WIJZIGEN Van toepassing op: SQL Server (SQL Server 2019 en hoger), Azure SQL Database. |
CONTROL | besturingsserver |
| ELKE SERVICE WIJZIGEN | ALTER | besturingsserver |
| ELKE SYMMETRISCHE SLEUTEL WIJZIGEN | ALTER | besturingsserver |
| WILLEKEURIGE GEBRUIKER WIJZIGEN | ALTER | besturingsserver |
| AUTHENTICATE | CONTROL | VERIFICATIESERVER |
| BACK-UP DATABASE | CONTROL | besturingsserver |
| BACKUPLOG | CONTROL | besturingsserver |
| CHECKPOINT | CONTROL | besturingsserver |
| CONNECT | CONNECTREPLICATIE | besturingsserver |
| CONNECTREPLICATIE | CONTROL | besturingsserver |
| CONTROL | CONTROL | besturingsserver |
| AGGREGATIE MAKEN | ALTER | besturingsserver |
| EEN EXTERNE BIBLIOTHEEK MAKEN Van toepassing op: SQL Server 2017 (14.x). |
CONTROL | besturingsserver |
| MAAK ASSEMBLY AAN | ELKE ASSEMBLY WIJZIGEN | besturingsserver |
| ASYMMETRISCHE SLEUTEL MAKEN | ASYMMETRISCHE SLEUTEL WIJZIGEN | besturingsserver |
| CERTIFICAAT MAKEN | ELK CERTIFICAAT WIJZIGEN | besturingsserver |
| CONTRACT MAKEN | EEN CONTRACT WIJZIGEN | besturingsserver |
| DATABASE MAKEN | CONTROL | EEN DATABASE MAKEN |
| DDL-GEBEURTENISMELDING VOOR DATABASE MAKEN | ELKE MELDING VOOR DATABASE-GEBEURTENIS WIJZIGEN | DDL-GEBEURTENISMELDING MAKEN |
| STANDAARD MAKEN | ALTER | besturingsserver |
| VOLLEDIGE TEKSTCATALOGUS MAKEN | ELKE VOLLEDIGE TEKSTCATALOGUS WIJZIGEN | besturingsserver |
| MAAK FUNCTIE AAN | ALTER | besturingsserver |
| BERICHTTYPE MAKEN | ELK BERICHTTYPE WIJZIGEN | besturingsserver |
| Aanmaken van procedure | ALTER | besturingsserver |
| WACHTRIJ MAKEN | ALTER | besturingsserver |
| EXTERNE SERVICEBINDING MAKEN | EEN EXTERNE SERVICEBINDING WIJZIGEN | besturingsserver |
| CREËER ROL | ELKE ROL WIJZIGEN | besturingsserver |
| Maak route aan | ELKE ROUTE WIJZIGEN | besturingsserver |
| REGEL MAKEN | ALTER | besturingsserver |
| SCHEMA MAKEN | EEN SCHEMA WIJZIGEN | besturingsserver |
| SERVICE CREËREN | ELKE SERVICE WIJZIGEN | besturingsserver |
| SYMMETRISCHE SLEUTEL MAKEN | ELKE SYMMETRISCHE SLEUTEL WIJZIGEN | besturingsserver |
| SYNONIEM MAKEN | ALTER | besturingsserver |
| CREATE TABLE | ALTER | besturingsserver |
| TYPE AANMAKEN | ALTER | besturingsserver |
| VIEW AANMAKEN | ALTER | besturingsserver |
| XML-SCHEMAVERZAMELING MAKEN | ALTER | besturingsserver |
| DELETE | CONTROL | besturingsserver |
| EXECUTE | CONTROL | besturingsserver |
| EEN EXTERN EINDPUNT UITVOEREN Van toepassing op: Azure SQL Database. |
CONTROL | besturingsserver |
| EEN EXTERN SCRIPT UITVOEREN Van toepassing op: SQL Server 2016 (13.x). |
CONTROL | besturingsserver |
| EXTERN SCRIPT UITVOEREN van toepassing op: SQL Server 2019 (15.x). |
EEN EXTERN SCRIPT UITVOEREN | besturingsserver |
| INSERT | CONTROL | besturingsserver |
| DATABASEVERBINDING BEËINDIGEN Van toepassing op: Azure SQL Database. |
CONTROL | ELKE VERBINDING WIJZIGEN |
| REFERENCES | CONTROL | besturingsserver |
| SELECT | CONTROL | besturingsserver |
| SHOWPLAN | CONTROL | ALTER TRACE (gebruikersmachtiging voor het traceren van gebeurtenissen) |
| MELDINGEN VOOR ABONNEREN-QUERY'S | CONTROL | besturingsserver |
| EIGENAAR | CONTROL | besturingsserver |
| UNMASK | CONTROL | besturingsserver |
| UPDATE | CONTROL | besturingsserver |
| WEERGEVEN VAN ELKE KOLOMVERSLEUTELINGSSLEUTEL DEFINITIE | CONTROL | ALLE DEFINITIES BEKIJKEN |
| EEN KOLOMHOOFDSLEUTELDEFINITIE WEERGEVEN | CONTROL | ALLE DEFINITIES BEKIJKEN |
| STATUS VAN DATABASE BEKIJKEN | CONTROL | SERVERSTATUS BEKIJKEN |
| DEFINITIE WEERGEVEN | CONTROL | ALLE DEFINITIES BEKIJKEN |
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.
Als u de AS-optie gebruikt, zijn de volgende aanvullende vereisten van toepassing.
| ZO granting_principal | Aanvullende machtiging vereist |
|---|---|
| Databasegebruiker | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Databasegebruiker die is toegewezen aan een Windows-aanmelding | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Databasegebruiker die is toegewezen aan een Windows-groep | Lidmaatschap van de Windows-groep, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die is toegewezen aan een certificaat | Lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die is toegewezen aan een asymmetrische sleutel | Lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die niet is toegewezen aan een server-principal | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Databaserol | ALTER-machtiging voor de rol, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Toepassingsrol | ALTER-machtiging voor de rol, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
Objecteigenaren kunnen machtigingen verlenen voor de objecten die ze bezitten. Principals met CONTROL-machtigingen voor een beveiligbaar apparaat kunnen machtigingen verlenen voor die beveiligbare.
Grantees van de machtiging CONTROL SERVER, zoals leden van de vaste serverfunctie sysadmin, kunnen elke machtiging verlenen voor elk beveiligbaar apparaat op de server.
Examples
A. Machtigingen verlenen voor het maken van tabellen
Het volgende voorbeeld verleent CREATE TABLE machtigingen voor de AdventureWorks database aan de gebruiker MelanieK.
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
B. SHOWPLAN-machtiging verlenen aan een toepassingsrol
Het volgende voorbeeld verleent SHOWPLAN machtigingen voor de database aan de AdventureWorks2025 toepassingsrol AuditMonitor.
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database
USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO
C. CREATE VIEW met GRANT OPTION verlenen
In het volgende voorbeeld wordt toestemming verleend CREATE VIEW aan AdventureWorks2025 de CarmineEs gebruiker met het recht om andere principals toe te kennenCREATE VIEW.
USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO
D. CONTROL-machtigingen verlenen aan een databasegebruiker
Het volgende voorbeeld verleent CONTROL machtigingen voor de AdventureWorks2025 database aan de databasegebruiker Sarah. De gebruiker moet aanwezig zijn in de database en de context moet worden ingesteld op de database.
USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO