Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Magazyn w usłudze Microsoft Fabric
Baza 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 MelanieK
bazy 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 AuditMonitor
aplikacji 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