Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Uděluje oprávnění pro uživatele databáze, roli databáze nebo aplikační roli v SQL Serveru.
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
Určuje oprávnění, které lze udělit pro objekt zabezpečení databáze. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.
UŽIVATEL ::database_user
Určuje třídu a název uživatele, pro kterého se oprávnění uděluje. Kvalifikátor oboru (::) je povinný.
ROLE ::database_role
Určuje třídu a název role, pro kterou se oprávnění uděluje. Kvalifikátor oboru (::) je povinný.
APLIKAČNÍ ROLE ::application_role
Určuje třídu a název role aplikace, pro kterou se oprávnění uděluje. Kvalifikátor oboru (::) je povinný.
S MOŽNOSTÍ UDĚLENÍ
Označuje, že objekt zabezpečení bude mít také možnost udělit zadané oprávnění jiným objektům zabezpečení.
DATABASE_PRINCIPAL AS <>
Určuje objekt zabezpečení, ze kterého objekt zabezpečení, který spouští tento dotaz, odvozuje své právo udělit oprávnění.
Database_user
Určuje uživatele databáze.
Database_role
Určuje roli databáze.
Application_role
Platí pro: SQL Server 2008 (10.0.x) a novější, SQL Database.
Určuje roli aplikace.
Database_user_mapped_to_Windows_User
Určuje uživatele databáze mapované na uživatele systému Windows.
Database_user_mapped_to_Windows_Group
Určuje uživatele databáze mapované na skupinu Windows.
Database_user_mapped_to_certificate
Určuje uživatele databáze mapované na certifikát.
Database_user_mapped_to_asymmetric_key
Určuje uživatele databáze namapovaný na asymetrický klíč.
Database_user_with_no_login
Určuje uživatele databáze bez odpovídajícího objektu zabezpečení na úrovni serveru.
Remarks
Informace o objektech zabezpečení databáze jsou viditelné v zobrazení katalogu sys.database_principals . Informace o oprávněních na úrovni databáze jsou viditelné v zobrazení katalogu sys.database_permissions .
Uživatelská oprávnění databáze
Uživatel databáze je zabezpečitelná databáze obsažená v databázi, která je jejím nadřazeným objektem v hierarchii oprávnění. Nejvýraznější a omezená oprávnění, která lze udělit uživateli databáze, jsou uvedena v následující tabulce společně s obecnějšími oprávněními, která je zahrnují implikací.
| Oprávnění uživatele databáze | Implicitní oprávnění uživatele databáze | Implicitní oprávnění databáze |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ZMĚNA LIBOVOLNÉHO UŽIVATELE |
| ZOBRAZIT DEFINICI | CONTROL | ZOBRAZIT DEFINICI |
Oprávnění databázové role
Role databáze je zabezpečitelná databáze obsažená v databázi, která je nadřazená v hierarchii oprávnění. Nejvýraznější a omezená oprávnění, která je možné udělit pro roli databáze, jsou uvedená v následující tabulce společně s obecnějšími oprávněními, která je zahrnují implikací.
| Oprávnění k databázové roli | Implicitní oprávnění databázové role | Implicitní oprávnění databáze |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| PŘEVEZMĚTE ODPOVĚDNOST | CONTROL | CONTROL |
| ALTER | CONTROL | ZMĚNIT JAKOUKOLI ROLI |
| ZOBRAZIT DEFINICI | CONTROL | ZOBRAZIT DEFINICI |
Oprávnění role aplikace
Role aplikace je zabezpečitelná databáze obsažená v databázi, která je jejím nadřazeným objektem v hierarchii oprávnění. Nejvýraznější a omezená oprávnění, která je možné udělit v roli aplikace, jsou uvedena v následující části společně s obecnějšími oprávněními, která je zahrnují implikací.
| Oprávnění role aplikace | Implicitní oprávnění role aplikace | Implicitní oprávnění databáze |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ZMĚNIT JAKOUKOLI APLIKAČNÍ ROLI |
| ZOBRAZIT DEFINICI | CONTROL | ZOBRAZIT DEFINICI |
Permissions
Grantor (nebo objekt zabezpečení zadaný pomocí možnosti AS) musí mít buď oprávnění samotné s možností GRANT OPTION, nebo vyšší oprávnění, které znamená udělení oprávnění.
Pokud používáte možnost AS, platí následující další požadavky.
| JAKO granting_principal | Další požadovaná oprávnění |
|---|---|
| Uživatel databáze | ZOSOBNIT oprávnění pro uživatele, členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Uživatel databáze namapovaný na uživatele systému Windows | ZOSOBNIT oprávnění pro uživatele, členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Uživatel databáze namapovaný na skupinu Windows | Členství ve skupině Windows, členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Uživatel databáze namapovaný na certifikát | Členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Uživatel databáze namapovaný na asymetrický klíč | Členství v roli databáze db_securityadminfixed, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Uživatel databáze není namapovaný na žádný objekt zabezpečení serveru | ZOSOBNIT oprávnění pro uživatele, členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Role databáze | ALTER oprávnění k roli, členství v roli databáze db_securityadminfixed, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
| Aplikační role | ALTER oprávnění k roli, členství v db_securityadmin pevné databázové roli, členství v db_owner pevné databázové roli nebo členství v pevné roli serveru správce systému. |
Objekty zabezpečení, které mají oprávnění CONTROL k zabezpečitelnému, můžou udělit oprávnění k danému zabezpečitelnému objektu.
Udělení oprávnění CONTROL k databázi, jako jsou členové db_owner pevné databázové role, mohou udělit jakékoli oprávnění k jakémukoli zabezpečitelnému v databázi.
Examples
A. Udělení oprávnění CONTROL uživateli jinému uživateli
Následující příklad uděluje CONTROL uživateli AdventureWorks2025Wanidaoprávnění RolandX .
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. Udělení oprávnění VIEW DEFINITION pro roli uživateli s možností GRANT OPTION
Následující příklad uděluje VIEW DEFINITION oprávnění k AdventureWorks2025 roli SammamishParking spolu s GRANT OPTION uživatelem JinghaoLiudatabáze .
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Udělení oprávnění IMPERSONATE uživateli k roli aplikace
Následující příklad uděluje IMPERSONATE uživateli oprávnění HamithaL k AdventureWorks2025 roli AccountsPayable17aplikace .
Platí pro: SQL Server 2008 (10.0.x) a novější, SQL Database.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Viz také
Odepřít oprávnění objektu zabezpečení databáze (Transact-SQL)
Oprávnění k objektu zabezpečení databáze REVOKE (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
VYTVOŘIT UŽIVATELE (Transact-SQL)
VYTVOŘENÍ APLIKAČNÍ ROLE (Transact-SQL)
VYTVOŘIT ROLI (Transact-SQL)
GRANT (Transact-SQL)
Oprávnění (databázový stroj)
Hlavní subjekty (databázový stroj)