Udostępnij za pomocą


Uprawnienia do bazy danych GRANT (Transact-SQL)

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

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ę.

Uprawnienia do bazy danych Dorozumiane przez uprawnienie bazy danych Dorozumiane przez uprawnienie serwera
ADMINISTROWANIE ZBIORCZYMI OPERACJAMI BAZY DANYCH
Dotyczy: SQL Database.
CONTROL SERWER STEROWANIA
ALTER CONTROL ZMIENIANIE DOWOLNEJ BAZY DANYCH
ZMIENIANIE DOWOLNEJ ROLI APLIKACJI ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO ZESTAWU ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO KLUCZA ASYMETRYCZNEGO ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO CERTYFIKATU ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO KLUCZA SZYFROWANIA KOLUMNY ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ DEFINICJI KLUCZA GŁÓWNEGO KOLUMNY ALTER SERWER STEROWANIA
ZMIEŃ DOWOLNY KONTRAKT ALTER SERWER STEROWANIA
MODYFIKACJA AUDYTU DOWOLNEJ BAZY DANYCH ALTER ZMIENIĆ DOWOLNY AUDYT SERWERA
ZMIENIANIE DOWOLNEGO WYZWALACZA DDL BAZY DANYCH ALTER SERWER STEROWANIA
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 SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ PRZESTRZENI DANYCH ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO ZEWNĘTRZNEGO ŹRÓDŁA DANYCH ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO FORMATU PLIKU ZEWNĘTRZNEGO ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ BIBLIOTEKI ZEWNĘTRZNEJ
Dotyczy: SQL Server 2017 (14.x).
CONTROL SERWER STEROWANIA
ZMIEŃ DOWOLNY KATALOG PEŁNOTEKSTOWY ALTER SERWER STEROWANIA
ZMIEŃ DOWOLNĄ MASKĘ CONTROL SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO TYPU KOMUNIKATU ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO POWIĄZANIA USŁUGI ZDALNEJ ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ ROLI ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ TRASY ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO SCHEMATU ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ POLITYKI BEZPIECZEŃSTWA
Dotyczy: Azure SQL Database.
CONTROL SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ KLASYFIKACJI WRAŻLIWOŚCI
Dotyczy: SQL Server (SQL Server 2019 i nowsze), Azure SQL Database.
CONTROL SERWER STEROWANIA
ZMIENIANIE DOWOLNEJ USŁUGI ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO KLUCZA SYMETRYCZNEGO ALTER SERWER STEROWANIA
ZMIENIANIE DOWOLNEGO UŻYTKOWNIKA ALTER SERWER STEROWANIA
AUTHENTICATE CONTROL UWIERZYTELNIANIE SERWERA
KOPIA ZAPASOWA BAZA DANYCH CONTROL SERWER STEROWANIA
DZIENNIK KOPII ZAPASOWYCH CONTROL SERWER STEROWANIA
CHECKPOINT CONTROL SERWER STEROWANIA
CONNECT REPLIKACJA CONNECT SERWER STEROWANIA
REPLIKACJA CONNECT CONTROL SERWER STEROWANIA
CONTROL CONTROL SERWER STEROWANIA
TWORZENIE AGREGACJI ALTER SERWER STEROWANIA
TWORZENIE DOWOLNEJ BIBLIOTEKI ZEWNĘTRZNEJ
Dotyczy: SQL Server 2017 (14.x).
CONTROL SERWER STEROWANIA
TWORZENIE ZESTAWU ZMIENIANIE DOWOLNEGO ZESTAWU SERWER STEROWANIA
TWORZENIE KLUCZA ASYMETRYCZNEGO ZMIENIANIE DOWOLNEGO KLUCZA ASYMETRYCZNEGO SERWER STEROWANIA
TWORZENIE CERTYFIKATU ZMIENIANIE DOWOLNEGO CERTYFIKATU SERWER STEROWANIA
TWORZENIE KONTRAKTU ZMIEŃ DOWOLNY KONTRAKT SERWER STEROWANIA
TWORZENIE BAZY DANYCH CONTROL TWORZENIE DOWOLNEJ BAZY DANYCH
POWIADOMIENIE O ZDARZENIU TWORZENIA BAZY DANYCH DDL ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU BAZY DANYCH TWORZENIE POWIADOMIENIA O ZDARZENIU DDL
UTWÓRZ DOMYŚLNE ALTER SERWER STEROWANIA
TWORZENIE WYKAZU PEŁNOTEKSTOWEGO ZMIEŃ DOWOLNY KATALOG PEŁNOTEKSTOWY SERWER STEROWANIA
UTWÓRZ FUNKCJĘ ALTER SERWER STEROWANIA
TWORZENIE TYPU KOMUNIKATU ZMIENIANIE DOWOLNEGO TYPU KOMUNIKATU SERWER STEROWANIA
TWORZENIE PROCEDURY ALTER SERWER STEROWANIA
TWORZENIE KOLEJKI ALTER SERWER STEROWANIA
TWORZENIE POWIĄZANIA USŁUGI ZDALNEJ ZMIENIANIE DOWOLNEGO POWIĄZANIA USŁUGI ZDALNEJ SERWER STEROWANIA
UTWÓRZ ROLĘ ZMIENIANIE DOWOLNEJ ROLI SERWER STEROWANIA
TWORZENIE TRASY ZMIENIANIE DOWOLNEJ TRASY SERWER STEROWANIA
TWORZENIE REGUŁY ALTER SERWER STEROWANIA
TWORZENIE SCHEMATU ZMIENIANIE DOWOLNEGO SCHEMATU SERWER STEROWANIA
TWORZENIE USŁUGI ZMIENIANIE DOWOLNEJ USŁUGI SERWER STEROWANIA
TWORZENIE KLUCZA SYMETRYCZNEGO ZMIENIANIE DOWOLNEGO KLUCZA SYMETRYCZNEGO SERWER STEROWANIA
TWORZENIE SYNONIMU ALTER SERWER STEROWANIA
CREATE TABLE ALTER SERWER STEROWANIA
TWORZENIE TYPU ALTER SERWER STEROWANIA
UTWÓRZ WIDOK ALTER SERWER STEROWANIA
TWORZENIE KOLEKCJI SCHEMATÓW XML ALTER SERWER STEROWANIA
DELETE CONTROL SERWER STEROWANIA
EXECUTE CONTROL SERWER STEROWANIA
WYKONAJ DOWOLNY ZEWNĘTRZNY PUNKT KOŃCOWY
Dotyczy: Azure SQL Database.
CONTROL SERWER STEROWANIA
WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY
Dotyczy: SQL Server 2016 (13.x).
CONTROL SERWER STEROWANIA
WYKONYWANIE SKRYPTU ZEWNĘTRZNEGO
Dotyczy: SQL Server 2019 (15.x).
WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY SERWER STEROWANIA
INSERT CONTROL SERWER STEROWANIA
ZABIJ POŁĄCZENIE Z BAZĄ DANYCH
Dotyczy: Azure SQL Database.
CONTROL ZMIENIANIE DOWOLNEGO POŁĄCZENIA
REFERENCES CONTROL SERWER STEROWANIA
SELECT CONTROL SERWER STEROWANIA
SHOWPLAN CONTROL ALTER TRACE
SUBSKRYBOWANIE POWIADOMIEŃ O ZAPYTANIACH CONTROL SERWER STEROWANIA
PRZEJMIJ ODPOWIEDZIALNOŚĆ CONTROL SERWER STEROWANIA
UNMASK CONTROL SERWER STEROWANIA
UPDATE CONTROL SERWER STEROWANIA
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
DEFINICJA WIDOKU 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.

JAK granting_principal Wymagane dodatkowe uprawnienia
Użytkownik bazy danych 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.
Rola bazy danych 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.
Rola aplikacji 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 AdventureWorks2025aplikacji w AuditMonitor 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 AdventureWorks2025 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 AdventureWorks2025 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

Zobacz też