Dela via


BEVILJA databasbehörigheter (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Beviljar behörigheter för en databas i SQL Server.

Transact-SQL syntaxkonventioner

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

tillåtelse Anger en behörighet som kan beviljas för en databas. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.

ALLA Det här alternativet beviljar inte alla möjliga behörigheter. Att bevilja ALLA motsvarar att bevilja följande behörigheter: SÄKERHETSKOPIERINGSDATABAS, SÄKERHETSKOPIERINGSLOGG, SKAPA STANDARD, SKAPA FUNKTION, SKAPA PROCEDUR, SKAPA REGEL, SKAPA TABELL OCH SKAPA VY.

PRIVILEGIER som ingår för ANSI-92-efterlevnad. Ändrar inte beteendet för ALLA.

MED ALTERNATIVET BEVILJA Anger att huvudkontot också kommer att ges möjlighet att bevilja den angivna behörigheten till andra huvudkonton.

AS-database_principal <> Anger ett huvudnamn från vilket huvudnamnet som kör frågan härleder sin rätt att bevilja behörigheten.

Database_user Anger en databasanvändare.

Database_role Anger en databasroll.

Application_rolegäller för: SQL Server 2008 (10.0.x) och senare SQL Database

Anger en programroll.

Database_user_mapped_to_Windows_Usergäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en Windows-användare.

Database_user_mapped_to_Windows_Groupgäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en Windows-grupp.

Database_user_mapped_to_certificategäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till ett certifikat.

Database_user_mapped_to_asymmetric_keygäller för: SQL Server 2008 (10.0.x) och senare

Anger en databasanvändare som mappats till en asymmetrisk nyckel.

Database_user_with_no_login Anger en databasanvändare utan motsvarande huvudnamn på servernivå.

Remarks

Important

En kombination av ALTER- och REFERENCE-behörigheter kan i vissa fall göra det möjligt för den som beviljar att visa data eller köra obehöriga funktioner. Till exempel: En användare med ALTER-behörighet i en tabell och REFERENS-behörighet för en funktion kan skapa en beräknad kolumn över en funktion och låta den köras. I det här fallet måste användaren också ha SELECT-behörighet för den beräknade kolumnen.

En databas är en skyddsbar som finns på den server som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan beviljas för en databas visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.

Database permission Underförstådd av databasbehörighet Underförstått av serverbehörighet
ADMINISTRERA MASSOPERATIONER FÖR DATABAS
Gäller för: SQL Database.
CONTROL CONTROL SERVER
ALTER CONTROL ÄNDRA EN DATABAS
ÄNDRA VILKEN PROGRAMROLL SOM HELST ALTER CONTROL SERVER
ÄNDRA ALLA SAMMANSÄTTNINGAR ALTER CONTROL SERVER
ÄNDRA ASYMMETRISK NYCKEL ALTER CONTROL SERVER
ÄNDRA ALLA CERTIFIKAT ALTER CONTROL SERVER
ÄNDRA NÅGON KOLUMNKRYPTERINGSNYCKEL ALTER CONTROL SERVER
ÄNDRA VALFRI KOLUMNHUVUDNYCKELDEFINITION ALTER CONTROL SERVER
ÄNDRA ALLA KONTRAKT ALTER CONTROL SERVER
ÄNDRA VILKEN DATABASGRANSKNING SOM HELST ALTER ÄNDRA SERVERGRANSKNING
ÄNDRA VALFRI DATABAS-DDL-UTLÖSARE ALTER CONTROL SERVER
ÄNDRA EVENTUELLA DATABASHÄNDELSEMEDDELANDEN ALTER ÄNDRA HÄNDELSEMEDDELANDEN
ÄNDRA EN DATABASHÄNDELSESESSION
Gäller för: SQL Database.
ALTER ÄNDRA HÄNDELSESESSIONER
ÄNDRA VARJE DATABAS-SPECIFIK KONFIGURATION
gäller för: SQL Server 2016 (13.x) och senare SQL Database.
CONTROL CONTROL SERVER
ÄNDRA ALLA DATARYMDER ALTER CONTROL SERVER
ÄNDRA ALLA EXTERNA DATAKÄLLOR ALTER CONTROL SERVER
ÄNDRA VILKET SOM HELST EXTERNT FILFORMAT ALTER CONTROL SERVER
ÄNDRA ALLA EXTERNA BIBLIOTEK
Gäller för: SQL Server 2017 (14.x).
CONTROL CONTROL SERVER
ÄNDRA ALLA FULLTEXTKATALOGER ALTER CONTROL SERVER
ÄNDRA VALFRI MASK CONTROL CONTROL SERVER
ÄNDRA VALFRI MEDDELANDETYP ALTER CONTROL SERVER
ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR ALTER CONTROL SERVER
ÄNDRA VILKEN ROLL SOM HELST ALTER CONTROL SERVER
ÄNDRA VALFRI VÄG ALTER CONTROL SERVER
ÄNDRA VALFRITT SCHEMA ALTER CONTROL SERVER
ÄNDRA ALLA SÄKERHETSPRINCIPER
Gäller för: Azure SQL Database.
CONTROL CONTROL SERVER
ÄNDRA EVENTUELL KÄNSLIGHETSKLASSIFICERING
Gäller för: SQL Server (SQL Server 2019 och senare), Azure SQL Database.
CONTROL CONTROL SERVER
ÄNDRA ALLA TJÄNSTER ALTER CONTROL SERVER
ÄNDRA EN SYMMETRISK NYCKEL ALTER CONTROL SERVER
ÄNDRA ALLA ANVÄNDARE ALTER CONTROL SERVER
AUTHENTICATE CONTROL AUTHENTICATE SERVER
BACKUP DATABASE CONTROL CONTROL SERVER
BACKUP LOG CONTROL CONTROL SERVER
CHECKPOINT CONTROL CONTROL SERVER
CONNECT CONNECT REPLICATION CONTROL SERVER
CONNECT REPLICATION CONTROL CONTROL SERVER
CONTROL CONTROL CONTROL SERVER
CREATE AGGREGATE ALTER CONTROL SERVER
SKAPA ETT EXTERNT BIBLIOTEK
Gäller för: SQL Server 2017 (14.x).
CONTROL CONTROL SERVER
CREATE ASSEMBLY ÄNDRA ALLA SAMMANSÄTTNINGAR CONTROL SERVER
SKAPA ASYMMETRISK NYCKEL ÄNDRA ASYMMETRISK NYCKEL CONTROL SERVER
CREATE CERTIFICATE ÄNDRA ALLA CERTIFIKAT CONTROL SERVER
CREATE CONTRACT ÄNDRA ALLA KONTRAKT CONTROL SERVER
CREATE DATABASE CONTROL SKAPA VALFRI DATABAS
SKAPA HÄNDELSEMEDDELANDE FÖR DATABAS-DDL ÄNDRA EVENTUELLA DATABASHÄNDELSEMEDDELANDEN SKAPA DDL-HÄNDELSEMEDDELANDE
CREATE DEFAULT ALTER CONTROL SERVER
SKAPA FULLTEXTKATALOG ÄNDRA ALLA FULLTEXTKATALOGER CONTROL SERVER
CREATE FUNCTION ALTER CONTROL SERVER
SKAPA MEDDELANDETYP ÄNDRA VALFRI MEDDELANDETYP CONTROL SERVER
CREATE PROCEDURE ALTER CONTROL SERVER
CREATE QUEUE ALTER CONTROL SERVER
SKAPA FJÄRRTJÄNSTBINDNING ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR CONTROL SERVER
CREATE ROLE ÄNDRA VILKEN ROLL SOM HELST CONTROL SERVER
CREATE ROUTE ÄNDRA VALFRI VÄG CONTROL SERVER
CREATE RULE ALTER CONTROL SERVER
CREATE SCHEMA ÄNDRA VALFRITT SCHEMA CONTROL SERVER
CREATE SERVICE ÄNDRA ALLA TJÄNSTER CONTROL SERVER
SKAPA SYMMETRISK NYCKEL ÄNDRA EN SYMMETRISK NYCKEL CONTROL SERVER
CREATE SYNONYM ALTER CONTROL SERVER
CREATE TABLE ALTER CONTROL SERVER
CREATE TYPE ALTER CONTROL SERVER
CREATE VIEW ALTER CONTROL SERVER
SKAPA XML-SCHEMASAMLING ALTER CONTROL SERVER
DELETE CONTROL CONTROL SERVER
EXECUTE CONTROL CONTROL SERVER
KÖRA VALFRI EXTERN SLUTPUNKT
Gäller för: Azure SQL Database.
CONTROL CONTROL SERVER
KÖRA ETT EXTERNT SKRIPT
Gäller för: SQL Server 2016 (13.x).
CONTROL CONTROL SERVER
KÖRA EXTERNT SKRIPT
gäller för: SQL Server 2019 (15.x).
KÖRA ETT EXTERNT SKRIPT CONTROL SERVER
INSERT CONTROL CONTROL SERVER
AVBRYT DATABASANSLUTNING
Gäller för: Azure SQL Database.
CONTROL ÄNDRA ALLA ANSLUTNINGAR
REFERENCES CONTROL CONTROL SERVER
SELECT CONTROL CONTROL SERVER
SHOWPLAN CONTROL ALTER TRACE
PRENUMERERA PÅ FRÅGEMEDDELANDEN CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
UNMASK CONTROL CONTROL SERVER
UPDATE CONTROL CONTROL SERVER
VISA VILKEN SOM HELST AV KOLUMNKRYPTERINGSNYCKELDEFINITION CONTROL SE NÅGON DEFINITION
VISA VILKEN SOM HELST HUVUDNYCKEL FÖR KOLUMN DEFINITION CONTROL SE NÅGON DEFINITION
VISA DATABASENS TILLSTÅND CONTROL SE SERVERTILLSTÅND
VIEW DEFINITION CONTROL SE NÅGON DEFINITION

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.

Om du använder AS-alternativet gäller följande ytterligare krav.

AS granting_principal Ytterligare behörighet krävs
Database user PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Databasanvändare mappad till en Windows-inloggning PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Databasanvändare mappad till en Windows-grupp Medlemskap i Windows-gruppen, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Databasanvändare mappad till ett certifikat Medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Databasanvändare mappad till en asymmetrisk nyckel Medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Databasanvändaren har inte mappats till något serverhuvudnamn PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Database role ALTER-behörighet för rollen, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.
Application role ALTER-behörighet för rollen, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin.

Objektägare kan bevilja behörigheter för de objekt de äger. Huvudnamn som har KONTROLL-behörighet för en skyddsbar kan bevilja behörighet för den skyddsbara filen.

Beviljare av CONTROL SERVER-behörighet, till exempel medlemmar i den fasta sysadmin-serverrollen, kan bevilja alla behörigheter för alla som kan skyddas på servern.

Examples

A. Bevilja behörighet att skapa tabeller

I följande exempel ges CREATE TABLE behörighet för AdventureWorks databasen till användaren MelanieK.

USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO

B. Bevilja SHOWPLAN-behörighet till en programroll

I följande exempel ges SHOWPLAN behörighet för databasen till programrollen AuditMonitorAdventureWorks2022 .

Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database

USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO

C. Bevilja SKAPA VY med ALTERNATIVET BEVILJA

I följande exempel ges CREATE VIEW behörighet för AdventureWorks2022 databasen till användare CarmineEs med behörighet att bevilja CREATE VIEW andra huvudkonton.

USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO

D. Bevilja KONTROLL-behörighet till en databasanvändare

I följande exempel ges CONTROL behörighet för AdventureWorks2022 databasen till databasanvändaren Sarah. Användaren måste finnas i databasen och kontexten måste vara inställd på databasen.

USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO

See Also