Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Przyznaje uprawnienia użytkownikowi bazy danych, roli bazy danych lub roli aplikacji w programie SQL Server.
Transact-SQL konwencje składni
Syntax
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<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
permission
Określa uprawnienie, które można udzielić dla podmiotu zabezpieczeń bazy danych. Aby uzyskać listę uprawnień, zobacz sekcję Uwagi w dalszej części tego tematu.
UŻYTKOWNIK ::database_user
Określa klasę i nazwę użytkownika, któremu udzielono uprawnień. Kwalifikator zakresu (::) jest wymagany.
ROLA ::database_role
Określa klasę i nazwę roli, której udzielono uprawnień. Kwalifikator zakresu (::) jest wymagany.
ROLA APLIKACJI ::application_role
Określa klasę i nazwę roli aplikacji, której udzielono uprawnień. Kwalifikator zakresu (::) jest wymagany.
Z OPCJĄ UDZIELANIA
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 ma prawo przyznać uprawnienie.
Database_user
Określa użytkownika bazy danych.
Database_role
Określa rolę bazy danych.
Application_role
Dotyczy: SQL Server 2008 (10.0.x) i nowsze, SQL Database.
Określa rolę aplikacji.
Database_user_mapped_to_Windows_User
Określa użytkownika bazy danych zamapowanego na użytkownika systemu Windows.
Database_user_mapped_to_Windows_Group
Określa użytkownika bazy danych zamapowanego na grupę systemu Windows.
Database_user_mapped_to_certificate
Określa użytkownika bazy danych mapowanego na certyfikat.
Database_user_mapped_to_asymmetric_key
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
Informacje o jednostkach baz danych są widoczne w widoku katalogu sys.database_principals . Informacje o uprawnieniach na poziomie bazy danych są widoczne w widoku katalogu sys.database_permissions .
Uprawnienia użytkownika bazy danych
Użytkownik bazy danych to zabezpieczanie na poziomie bazy danych zawarte w bazie danych, która jest jej elementem nadrzędnym w hierarchii uprawnień. Najbardziej specyficzne i ograniczone uprawnienia, które można udzielić użytkownikowi bazy danych, są wymienione w poniższej tabeli wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.
| Uprawnienie użytkownika bazy danych | Sugerowane przez uprawnienia użytkownika bazy danych | Dorozumiane przez uprawnienie bazy danych |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ZMIENIANIE DOWOLNEGO UŻYTKOWNIKA |
| DEFINICJA WIDOKU | CONTROL | DEFINICJA WIDOKU |
Uprawnienia roli bazy danych
Rola bazy danych jest zabezpieczaną na poziomie bazy danych zawartą w bazie danych, która jest jej elementem nadrzędnym w hierarchii uprawnień. Najbardziej szczegółowe i ograniczone uprawnienia, które można udzielić w roli bazy danych, są wymienione w poniższej tabeli wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.
| Uprawnienie roli bazy danych | Sugerowane przez uprawnienie roli bazy danych | Dorozumiane przez uprawnienie bazy danych |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| PRZEJMIJ ODPOWIEDZIALNOŚĆ | CONTROL | CONTROL |
| ALTER | CONTROL | ZMIENIANIE DOWOLNEJ ROLI |
| DEFINICJA WIDOKU | CONTROL | DEFINICJA WIDOKU |
Uprawnienia roli aplikacji
Rola aplikacji jest zabezpieczaną na poziomie bazy danych zawartą w bazie danych, która jest jej elementem nadrzędnym w hierarchii uprawnień. Najbardziej szczegółowe i ograniczone uprawnienia, które można udzielić w roli aplikacji, są wymienione w poniższych, wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.
| Uprawnienie roli aplikacji | Sugerowane przez uprawnienie roli aplikacji | Dorozumiane przez uprawnienie bazy danych |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ZMIENIANIE DOWOLNEJ ROLI APLIKACJI |
| DEFINICJA WIDOKU | CONTROL | DEFINICJA WIDOKU |
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 użytkownika 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 roli bazy danych db_securityadminfixed, 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 | UPRAWNIENIA ALTER dla roli, członkostwa w roli bazy danych db_securityadminfixed, członkostwa w db_owner stałej roli bazy danych lub członkostwa 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. |
Podmioty z uprawnieniami CONTROL do zabezpieczania mogą udzielać uprawnień do tego zabezpieczanego.
Grantees uprawnień KONTROLI w bazie danych, takich jak członkowie db_owner stałej roli bazy danych, mogą udzielić wszelkich uprawnień do zabezpieczania w bazie danych.
Examples
A. Udzielanie uprawnień CONTROL użytkownikowi innemu użytkownikowi
W poniższym przykładzie udzielono CONTROL użytkownikowi uprawnień AdventureWorks2025Wanida do użytkownika RolandX.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. Udzielanie użytkownikowi uprawnień VIEW DEFINITION dla roli z OPCJĄ UDZIELENIA
W poniższym przykładzie udzielono VIEW DEFINITION uprawnień do AdventureWorks2025 roli SammamishParking wraz z użytkownikiem GRANT OPTIONJinghaoLiubazy danych .
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Przyznawanie uprawnień IMPERSONATE dla użytkownika do roli aplikacji
Poniższy przykład przyznaje IMPERSONATE użytkownikowi uprawnienie HamithaL do AdventureWorks2025 roli AccountsPayable17aplikacji .
Dotyczy: SQL Server 2008 (10.0.x) i nowsze, SQL Database.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Zobacz też
ODMOWA uprawnień podmiotu zabezpieczeń bazy danych (Transact-SQL)
ODWOŁAJ uprawnienia podmiotu zabezpieczeń bazy danych (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
UTWÓRZ UŻYTKOWNIKA (Transact-SQL)
TWORZENIE ROLI APLIKACJI (Transact-SQL)
UTWÓRZ ROLĘ (Transact-SQL)
DOTACJA (Transact-SQL)
Uprawnienia (aparat bazy danych)
Podmioty (aparat bazy danych)