Udostępnij za pośrednictwem


GRANT Database Permissions (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricMagazyn w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric (wersja zapoznawcza)

Przyznaje uprawnienia do bazy danych w programie SQL Server.

Transact-SQL konwencje składni

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

pozwolenie Określa uprawnienie, które można udzielić w bazie danych. Aby uzyskać listę uprawnień, zobacz sekcję Uwagi w dalszej części tego tematu.

WSZYSTKIE Ta opcja nie udziela wszystkich możliwych uprawnień. Przyznanie ALL jest równoważne udzieleniu następujących uprawnień: KOPIA ZAPASOWA BAZA DANYCH, DZIENNIK KOPII ZAPASOWYCH, TWORZENIE DOMYŚLNE, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE i CREATE VIEW.

UPRAWNIENIA dołączone do zgodności ANSI-92. Nie zmienia zachowania ALL.

WITH GRANT OPTION Wskazuje, że podmiot zabezpieczeń będzie również mieć możliwość udzielenia określonego uprawnienia innym podmiotom zabezpieczeń.

AS <database_principal> Określa podmiot zabezpieczeń, z którego podmiot zabezpieczeń wykonujący to zapytanie uzyskuje prawo do udzielenia uprawnienia.

Database_user Określa użytkownika bazy danych.

Database_role Określa rolę bazy danych.

Application_roleDotyczy: SQL Server 2008 (10.0.x) i nowsze, SQL Database

Określa rolę aplikacji.

Database_user_mapped_to_Windows_UserDotyczy: SQL Server 2008 (10.0.x) i nowsze

Określa użytkownika bazy danych zamapowanego na użytkownika systemu Windows.

Database_user_mapped_to_Windows_GroupDotyczy: SQL Server 2008 (10.0.x) i nowsze

Określa użytkownika bazy danych zamapowanego na grupę systemu Windows.

Database_user_mapped_to_certificateDotyczy: SQL Server 2008 (10.0.x) i nowsze

Określa użytkownika bazy danych mapowanego na certyfikat.

Database_user_mapped_to_asymmetric_keyDotyczy: SQL Server 2008 (10.0.x) i nowsze

Określa użytkownika bazy danych mapowanego na klucz asymetryczny.

Database_user_with_no_login Określa użytkownika bazy danych bez odpowiedniego podmiotu zabezpieczeń na poziomie serwera.

Remarks

Important

W niektórych przypadkach kombinacja uprawnień ALTER i REFERENCE może umożliwić użytkownikowi wyświetlanie danych lub wykonywanie nieautoryzowanych funkcji. Na przykład: użytkownik z uprawnieniem ALTER w tabeli i uprawnienie REFERENCE dla funkcji może utworzyć obliczoną kolumnę za pośrednictwem funkcji i mieć ją wykonać. W takim przypadku użytkownik musi mieć również uprawnienie SELECT w obliczonej kolumnie.

Baza danych jest zabezpieczana przez serwer, który jest jego elementem nadrzędnym w hierarchii uprawnień. Najbardziej szczegółowe i ograniczone uprawnienia, które można udzielić w bazie danych, są wymienione w poniższej tabeli wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.

Database permission Dorozumiane przez uprawnienie bazy danych Dorozumiane przez uprawnienie serwera
ADMINISTROWANIE ZBIORCZYMI OPERACJAMI BAZY DANYCH
Dotyczy: SQL Database.
CONTROL CONTROL SERVER
ALTER CONTROL ZMIENIANIE DOWOLNEJ BAZY DANYCH
ZMIENIANIE DOWOLNEJ ROLI APLIKACJI ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO ZESTAWU ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO KLUCZA ASYMETRYCZNEGO ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO CERTYFIKATU ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO KLUCZA SZYFROWANIA KOLUMNY ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEJ DEFINICJI KLUCZA GŁÓWNEGO KOLUMNY ALTER CONTROL SERVER
ZMIEŃ DOWOLNY KONTRAKT ALTER CONTROL SERVER
MODYFIKACJA AUDYTU DOWOLNEJ BAZY DANYCH ALTER ZMIENIĆ DOWOLNY AUDYT SERWERA
ZMIENIANIE DOWOLNEGO WYZWALACZA DDL BAZY DANYCH ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU BAZY DANYCH ALTER ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU
ZMIENIĆ DOWOLNĄ SESJĘ ZDARZEŃ BAZY DANYCH
Dotyczy: SQL Database.
ALTER ZMIEŃ DOWOLNĄ SESJĘ ZDARZEŃ
ZMIENIANIE DOWOLNEJ KONFIGURACJI W ZAKRESIE BAZY DANYCH
Dotyczy: SQL Server 2016 (13.x) i nowszych, SQL Database.
CONTROL CONTROL SERVER
ZMIENIANIE DOWOLNEJ PRZESTRZENI DANYCH ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO ZEWNĘTRZNEGO ŹRÓDŁA DANYCH ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO FORMATU PLIKU ZEWNĘTRZNEGO ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEJ BIBLIOTEKI ZEWNĘTRZNEJ
Dotyczy: SQL Server 2017 (14.x).
CONTROL CONTROL SERVER
ZMIEŃ DOWOLNY KATALOG PEŁNOTEKSTOWY ALTER CONTROL SERVER
ZMIEŃ DOWOLNĄ MASKĘ CONTROL CONTROL SERVER
ZMIENIANIE DOWOLNEGO TYPU KOMUNIKATU ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO POWIĄZANIA USŁUGI ZDALNEJ ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEJ ROLI ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEJ TRASY ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO SCHEMATU ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEJ POLITYKI BEZPIECZEŃSTWA
Dotyczy: Azure SQL Database.
CONTROL CONTROL SERVER
ZMIENIANIE DOWOLNEJ KLASYFIKACJI WRAŻLIWOŚCI
Dotyczy: SQL Server (SQL Server 2019 i nowsze), Azure SQL Database.
CONTROL CONTROL SERVER
ZMIENIANIE DOWOLNEJ USŁUGI ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO KLUCZA SYMETRYCZNEGO ALTER CONTROL SERVER
ZMIENIANIE DOWOLNEGO UŻYTKOWNIKA 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
TWORZENIE DOWOLNEJ BIBLIOTEKI ZEWNĘTRZNEJ
Dotyczy: SQL Server 2017 (14.x).
CONTROL CONTROL SERVER
CREATE ASSEMBLY ZMIENIANIE DOWOLNEGO ZESTAWU CONTROL SERVER
TWORZENIE KLUCZA ASYMETRYCZNEGO ZMIENIANIE DOWOLNEGO KLUCZA ASYMETRYCZNEGO CONTROL SERVER
CREATE CERTIFICATE ZMIENIANIE DOWOLNEGO CERTYFIKATU CONTROL SERVER
CREATE CONTRACT ZMIEŃ DOWOLNY KONTRAKT CONTROL SERVER
CREATE DATABASE CONTROL TWORZENIE DOWOLNEJ BAZY DANYCH
POWIADOMIENIE O ZDARZENIU TWORZENIA BAZY DANYCH DDL ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU BAZY DANYCH TWORZENIE POWIADOMIENIA O ZDARZENIU DDL
CREATE DEFAULT ALTER CONTROL SERVER
TWORZENIE WYKAZU PEŁNOTEKSTOWEGO ZMIEŃ DOWOLNY KATALOG PEŁNOTEKSTOWY CONTROL SERVER
CREATE FUNCTION ALTER CONTROL SERVER
TWORZENIE TYPU KOMUNIKATU ZMIENIANIE DOWOLNEGO TYPU KOMUNIKATU CONTROL SERVER
CREATE PROCEDURE ALTER CONTROL SERVER
CREATE QUEUE ALTER CONTROL SERVER
TWORZENIE POWIĄZANIA USŁUGI ZDALNEJ ZMIENIANIE DOWOLNEGO POWIĄZANIA USŁUGI ZDALNEJ CONTROL SERVER
CREATE ROLE ZMIENIANIE DOWOLNEJ ROLI CONTROL SERVER
CREATE ROUTE ZMIENIANIE DOWOLNEJ TRASY CONTROL SERVER
CREATE RULE ALTER CONTROL SERVER
CREATE SCHEMA ZMIENIANIE DOWOLNEGO SCHEMATU CONTROL SERVER
CREATE SERVICE ZMIENIANIE DOWOLNEJ USŁUGI CONTROL SERVER
TWORZENIE KLUCZA SYMETRYCZNEGO ZMIENIANIE DOWOLNEGO KLUCZA SYMETRYCZNEGO CONTROL SERVER
CREATE SYNONYM ALTER CONTROL SERVER
CREATE TABLE ALTER CONTROL SERVER
CREATE TYPE ALTER CONTROL SERVER
CREATE VIEW ALTER CONTROL SERVER
TWORZENIE KOLEKCJI SCHEMATÓW XML ALTER CONTROL SERVER
DELETE CONTROL CONTROL SERVER
EXECUTE CONTROL CONTROL SERVER
WYKONAJ DOWOLNY ZEWNĘTRZNY PUNKT KOŃCOWY
Dotyczy: Azure SQL Database.
CONTROL CONTROL SERVER
WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY
Dotyczy: SQL Server 2016 (13.x).
CONTROL CONTROL SERVER
WYKONYWANIE SKRYPTU ZEWNĘTRZNEGO
Dotyczy: SQL Server 2019 (15.x).
WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY CONTROL SERVER
INSERT CONTROL CONTROL SERVER
ZABIJ POŁĄCZENIE Z BAZĄ DANYCH
Dotyczy: Azure SQL Database.
CONTROL ZMIENIANIE DOWOLNEGO POŁĄCZENIA
REFERENCES CONTROL CONTROL SERVER
SELECT CONTROL CONTROL SERVER
SHOWPLAN CONTROL ALTER TRACE
SUBSKRYBOWANIE POWIADOMIEŃ O ZAPYTANIACH CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
UNMASK CONTROL CONTROL SERVER
UPDATE CONTROL CONTROL SERVER
WYŚWIETL DOWOLNĄ DEFINICJĘ KLUCZA SZYFROWANIA KOLUMNY CONTROL ZOBACZ DOWOLNĄ DEFINICJĘ
WYŚWIETLANIE DOWOLNEJ DEFINICJI KLUCZA GŁÓWNEGO KOLUMNY CONTROL ZOBACZ DOWOLNĄ DEFINICJĘ
WYŚWIETLANIE STANU BAZY DANYCH CONTROL WYŚWIETLANIE STANU SERWERA
VIEW DEFINITION CONTROL ZOBACZ DOWOLNĄ DEFINICJĘ

Permissions

Grantor (lub podmiot zabezpieczeń określony z opcją AS) musi mieć uprawnienie z opcją GRANT lub wyższe uprawnienie, które oznacza przyznanie uprawnienia.

Jeśli używasz opcji AS, obowiązują następujące dodatkowe wymagania.

AS granting_principal Wymagane dodatkowe uprawnienia
Database user Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Użytkownik bazy danych zamapowany na logowanie do systemu Windows Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Użytkownik bazy danych zamapowany na grupę systemu Windows Członkostwo w grupie systemu Windows, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Użytkownik bazy danych zamapowany na certyfikat Członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Użytkownik bazy danych zamapowany na klucz asymetryczny Członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Użytkownik bazy danych nie jest mapowany na żadną jednostkę serwera Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Database role UPRAWNIENIE ALTER dla roli, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.
Application role UPRAWNIENIE ALTER dla roli, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin.

Właściciele obiektów mogą udzielać uprawnień do obiektów, których są właścicielami. Podmioty z uprawnieniami CONTROL do zabezpieczania mogą udzielać uprawnień do tego zabezpieczanego.

Udziel uprawnień SERWERA KONTROLI, takich jak członkowie stałej roli serwera sysadmin, mogą udzielić wszelkich uprawnień do zabezpieczania na serwerze.

Examples

A. Udzielanie uprawnień do tworzenia tabel

Poniższy przykład przyznaje CREATE TABLE użytkownikowi AdventureWorks uprawnienie do MelanieKbazy danych .

USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO

B. Udzielanie uprawnień SHOWPLAN do roli aplikacji

W poniższym przykładzie udzielono SHOWPLAN uprawnień do roli AuditMonitoraplikacji w AdventureWorks2022 bazie danych .

Dotyczy: SQL Server 2008 (10.0.x) i nowsze, SQL Database

USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO

C. Udzielanie widoku CREATE z OPCJĄ GRANT

Poniższy przykład udziela CREATE VIEW użytkownikowi AdventureWorks2022 uprawnień do użytkownika CarmineEs z uprawnieniami do udzielania CREATE VIEW innym podmiotom zabezpieczeń.

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

D. Udzielanie uprawnień CONTROL użytkownikowi bazy danych

Poniższy przykład przyznaje CONTROL użytkownikowi AdventureWorks2022 bazy danych uprawnienie do bazy danych Sarah. Użytkownik musi istnieć w bazie danych, a kontekst musi być ustawiony na bazę danych.

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

See Also