GRANT Databaserechten (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-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 ALLE is gelijk aan het verlenen van de volgende permissies: BACKUPDATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, , CREATE RULE, , CREATE TABLEen CREATE VIEW.

BEVOEGDHEDEN opgenomen voor ANSI-92-naleving. Het gedrag van ALL wordt niet gewijzigd.

MET GRANT OPTIE Geeft aan dat de principaal ook de mogelijkheid krijgt om de gespecificeerde toestemming aan andere opdrachtgevers te geven.

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
BEHEER DATABASE VAN BULKOPERATIES
Van toepassing op: SQL Database.
CONTROL besturingsserver
ALTER CONTROL WIJZIG EEN DATABASE
WIJZIG EEN APPLICATION ROLE ALTER besturingsserver
WIJZIG EEN ASSEMBLY ALTER besturingsserver
WIJZIG EEN ASYMMETRIC KEY ALTER besturingsserver
WIJZIG EEN CERTIFICATE ALTER besturingsserver
WIJZIG EEN COLUMN ENCRYPTION KEY ALTER besturingsserver
VERANDER ELKE COLUMN MASTER KEY DEFINITIE ALTER besturingsserver
WIJZIG EEN CONTRACT ALTER besturingsserver
VERANDER ELKE DATABASE AUDIT ALTER WIJZIG EEN SERVER AUDIT
VERANDER ELKE DATABASE DDL TRIGGER ALTER besturingsserver
ALTER ANY DATABASEEVENT NOTIFICATION ALTER WIJZIG EEN EVENT NOTIFICATION
ALTER ANY DATABASEEVENT SESSION
Van toepassing op: SQL Database.
ALTER WIJZIG EEN EVENT SESSION
WIJZIG EEN DATABASE SCOPED CONFIGURATION
van toepassing op: SQL Server 2016 (13.x) en hoger, SQL Database.
CONTROL besturingsserver
ELKE DATASPACE WIJZIGEN ALTER besturingsserver
WIJZIG EEN EXTERNAL DATA SOURCE ALTER besturingsserver
WIJZIG EEN EXTERNAL FILE FORMAT ALTER besturingsserver
WIJZIG EEN EXTERNAL LIBRARY
Van toepassing op: SQL Server 2017 (14.x).
CONTROL besturingsserver
WIJZIG EEN FULLTEXT CATALOG ALTER besturingsserver
EEN MASKER WIJZIGEN CONTROL besturingsserver
WIJZIG EEN MESSAGE TYPE ALTER besturingsserver
WIJZIG EEN REMOTE SERVICE BINDING ALTER besturingsserver
WIJZIG EEN ROLE ALTER besturingsserver
WIJZIG EEN ROUTE ALTER besturingsserver
WIJZIG EEN SCHEMA ALTER besturingsserver
WIJZIG EEN SECURITY POLICY
Van toepassing op: Azure SQL Database.
CONTROL besturingsserver
WIJZIG EEN SENSITIVITY CLASSIFICATION
Van toepassing op: SQL Server (SQL Server 2019 en hoger), Azure SQL Database.
CONTROL besturingsserver
WIJZIG EEN SERVICE ALTER besturingsserver
WIJZIG EEN SYMMETRIC KEY ALTER besturingsserver
WIJZIG EEN USER ALTER besturingsserver
AUTHENTICATE CONTROL VERIFICATIESERVER
BACKUP DATABASE CONTROL besturingsserver
BACKUP LOG CONTROL besturingsserver
CHECKPOINT CONTROL besturingsserver
CONNECT CONNECTREPLICATIE besturingsserver
CONNECTREPLICATIE CONTROL besturingsserver
CONTROL CONTROL besturingsserver
CREATE AGGREGATE ALTER besturingsserver
MAAK ELKE EXTERNAL LIBRARY
Van toepassing op: SQL Server 2017 (14.x).
CONTROL besturingsserver
CREATE ASSEMBLY WIJZIG EEN ASSEMBLY besturingsserver
CREATE ASYMMETRIC KEY WIJZIG EEN ASYMMETRIC KEY besturingsserver
CREATE CERTIFICATE WIJZIG EEN CERTIFICATE besturingsserver
CREATE CONTRACT WIJZIG EEN CONTRACT besturingsserver
CREATE DATABASE CONTROL MAAK ELKE DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ALTER ANY DATABASEEVENT NOTIFICATION CREATE DDL EVENT NOTIFICATION
CREATE DEFAULT ALTER besturingsserver
CREATE FULLTEXT CATALOG WIJZIG EEN FULLTEXT CATALOG besturingsserver
CREATE FUNCTION ALTER besturingsserver
CREATE MESSAGE TYPE WIJZIG EEN MESSAGE TYPE besturingsserver
CREATE PROCEDURE ALTER besturingsserver
CREATE QUEUE ALTER besturingsserver
CREATE REMOTE SERVICE BINDING WIJZIG EEN REMOTE SERVICE BINDING besturingsserver
CREATE ROLE WIJZIG EEN ROLE besturingsserver
CREATE ROUTE WIJZIG EEN ROUTE besturingsserver
CREATE RULE ALTER besturingsserver
CREATE SCHEMA WIJZIG EEN SCHEMA besturingsserver
CREATE SERVICE WIJZIG EEN SERVICE besturingsserver
CREATE SYMMETRIC KEY WIJZIG EEN SYMMETRIC KEY besturingsserver
CREATE SYNONYM ALTER besturingsserver
CREATE TABLE ALTER besturingsserver
CREATE TYPE ALTER besturingsserver
CREATE VIEW ALTER besturingsserver
CREATE XML SCHEMA COLLECTION ALTER besturingsserver
DELETE CONTROL besturingsserver
EXECUTE CONTROL besturingsserver
EEN EXTERNE UITVOERING UITVOEREN ENDPOINT
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
KILL DATABASE VERBINDING
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
VIEW ELKE COLUMN ENCRYPTION KEY DEFINITIE CONTROL VIEW ELKE DEFINITIE
VIEW ELKE COLUMN MASTER KEY DEFINITIE CONTROL VIEW ELKE DEFINITIE
VIEW DATABASE STAAT CONTROL VIEW SERVERSTATUS
VIEW DEFINITIE CONTROL VIEW ELKE DEFINITIE

Permissions

De verstrekker (of de opdrachtgever die met de AS-optie is gespecificeerd) moet ofwel de toestemming zelf met GRANT OPTION hebben, of een hogere toestemming die impliceert dat de toestemming 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. Toekennen CREATE VIEW met GRANT OPTION

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

Zie ook