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í k databázi na SQL Serveru.
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
povolení Určuje oprávnění, které lze udělit v databázi. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.
Všechna tato možnost neuděluje všechna možná oprávnění. Udělení všech oprávnění odpovídá udělení následujících oprávnění: BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE a CREATE VIEW.
OPRÁVNĚNÍ zahrnutá pro dodržování předpisů ANSI-92. Nemění chování funkce ALL.
WITH GRANT OPTION Označuje, že objekt zabezpečení bude mít také možnost udělit zadané oprávnění jiným objektům zabezpečení.
AS <database_principal> 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_roleplatí pro: SQL Server 2008 (10.0.x) a novější, SQL Database
Určuje roli aplikace.
Database_user_mapped_to_Windows_Userplatí pro: SQL Server 2008 (10.0.x) a novější
Určuje uživatele databáze mapované na uživatele systému Windows.
Database_user_mapped_to_Windows_Groupplatí pro: SQL Server 2008 (10.0.x) a novější
Určuje uživatele databáze mapované na skupinu Windows.
Database_user_mapped_to_certificateplatí pro: SQL Server 2008 (10.0.x) a novější
Určuje uživatele databáze mapované na certifikát.
Database_user_mapped_to_asymmetric_keyplatí pro: SQL Server 2008 (10.0.x) a novější
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
Important
Kombinace oprávnění ALTER a REFERENCE v některých případech může uživateli umožnit zobrazit data nebo spustit neautorizované funkce. Příklad: Uživatel s oprávněním ALTER pro tabulku a ODKAZ na funkci může vytvořit počítaný sloupec nad funkcí a nechat ho spustit. V tomto případě musí mít uživatel také oprávnění SELECT pro počítaný sloupec.
Databáze je zabezpečitelná serverem, který je nadřazený v hierarchii oprávnění. Nejvýraznější a omezená oprávnění, která je možné udělit v databázi, jsou uvedená v následující tabulce společně s obecnějšími oprávněními, která je zahrnují implikací.
| Povolení k databázi | Implicitní oprávnění databáze | Implicitní oprávnění serveru |
|---|---|---|
| SPRÁVA HROMADNÝCH OPERACÍ DATABÁZE Platí pro: SQL Database. |
CONTROL | řídicí server |
| ALTER | CONTROL | ZMĚNIT JAKOUKOLI DATABÁZI |
| ZMĚNIT JAKOUKOLI APLIKAČNÍ ROLI | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLI SLOŽKU | ALTER | řídicí server |
| ZMĚNIT JAKÝKOLI ASYMETRICKÝ KLÍČ | ALTER | řídicí server |
| Upravit jakýkoli certifikát | ALTER | řídicí server |
| ZMĚNIT JAKÝKOLI KLÍČ ZAŠIFROVÁNÍ SLOUPCE | ALTER | řídicí server |
| ZMĚNA DEFINICE LIBOVOLNÉHO SLOUPCE MASTER KLÍČE | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLI SMLOUVU | ALTER | řídicí server |
| ZMĚNIT LIBOVOLNÝ AUDIT DATABÁZE | ALTER | UPRAVIT JAKÝKOLI AUDIT SERVERU |
| ALTER ANY DATABÁZOVÝ DDL TRIGGER | ALTER | řídicí server |
| UPRAVIT JAKÁKOLI OZNÁMENÍ O UDÁLOSTI DATABÁZE | ALTER | ZMĚNIT JAKÉKOLI OZNÁMENÍ O UDÁLOSTI |
| ZMĚNA JAKÉHOKOLI SEZENÍ UDÁLOSTÍ DATABÁZE Platí pro: SQL Database. |
ALTER | ZMĚNIT JAKOUKOLI RELACI UDÁLOSTÍ |
| Změnit jakékoliv nastavení ve vyšší úrovni databáze platí pro: SQL Server 2016 (13.x) a novější, SQL Database. |
CONTROL | řídicí server |
| ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR | ALTER | řídicí server |
| UPRAVIT JAKÝKOLIV EXTERNÍ ZDROJ DAT | ALTER | řídicí server |
| ZMĚNIT JAKÝKOLI EXTERNÍ FORMÁT SOUBORU | ALTER | řídicí server |
| UPRAVTE JAKOUKOLI EXTERNÍ KNIHOVNU Platí pro: SQL Server 2017 (14.x). |
CONTROL | řídicí server |
| ZMĚNIT JAKÝKOLI FULLTEXTOVÝ KATALOG | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLIV MASKU | CONTROL | řídicí server |
| ZMĚNIT JAKÝKOLI TYP ZPRÁVY | ALTER | řídicí server |
| "Povolit úpravy jakéhokoliv vzdáleného služebního propojení" | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLI ROLI | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLI TRASU | ALTER | řídicí server |
| ZMĚNIT JAKÉKOLIV SCHÉMA | ALTER | řídicí server |
| ZMĚNIT JAKOUKOLI BEZPEČNOSTNÍ POLITIKU Platí pro: Azure SQL Database. |
CONTROL | řídicí server |
| ZMĚNIT JAKOUKOLIV KLASIFIKACI CITLIVOSTI Platí pro: SQL Server (SQL Server 2019 a novější), Azure SQL Database. |
CONTROL | řídicí server |
| ZMĚNIT LIBOVOLNOU SLUŽBU | ALTER | řídicí server |
| ZMĚNIT JAKÝKOLIV SYMMETRICKÝ KLÍČ | ALTER | řídicí server |
| ZMĚNA LIBOVOLNÉHO UŽIVATELE | ALTER | řídicí server |
| AUTHENTICATE | CONTROL | OVĚŘENÍ SERVERU |
| ZÁLOHOVAT DATABÁZI | CONTROL | řídicí server |
| ZÁLOHOVACÍ ZÁZNAM | CONTROL | řídicí server |
| CHECKPOINT | CONTROL | řídicí server |
| CONNECT | REPLIKACE CONNECT | řídicí server |
| REPLIKACE CONNECT | CONTROL | řídicí server |
| CONTROL | CONTROL | řídicí server |
| VYTVOŘIT AGREGÁT | ALTER | řídicí server |
| VYTVOŘENÍ JAKÉKOLI EXTERNÍ KNIHOVNY Platí pro: SQL Server 2017 (14.x). |
CONTROL | řídicí server |
| CREATE ASSEMBLY (vytvořit sestavení) | ZMĚNIT JAKOUKOLI SLOŽKU | řídicí server |
| VYTVOŘENÍ ASYMETRICKÉHO KLÍČE | ZMĚNIT JAKÝKOLI ASYMETRICKÝ KLÍČ | řídicí server |
| VYTVOŘENÍ CERTIFIKÁTU | Upravit jakýkoli certifikát | řídicí server |
| VYTVOŘIT SMLOUVU | ZMĚNIT JAKOUKOLI SMLOUVU | řídicí server |
| VYTVOŘIT DATABÁZI | CONTROL | VYTVOŘENÍ JAKÉKOLI DATABÁZE |
| VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL DATABÁZE | UPRAVIT JAKÁKOLI OZNÁMENÍ O UDÁLOSTI DATABÁZE | VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL |
| VYTVOŘIT VÝCHOZÍ | ALTER | řídicí server |
| VYTVOŘIT FULLTEXT KATALOG | ZMĚNIT JAKÝKOLI FULLTEXTOVÝ KATALOG | řídicí server |
| VYTVOŘIT FUNKCI | ALTER | řídicí server |
| VYTVOŘENÍ TYPU ZPRÁVY | ZMĚNIT JAKÝKOLI TYP ZPRÁVY | řídicí server |
| VYTVOŘENÍ POSTUPU | ALTER | řídicí server |
| VYTVOŘIT FRONTU | ALTER | řídicí server |
| VYTVOŘENÍ VAZBY VZDÁLENÉ SLUŽBY | "Povolit úpravy jakéhokoliv vzdáleného služebního propojení" | řídicí server |
| VYTVOŘIT ROLI | ZMĚNIT JAKOUKOLI ROLI | řídicí server |
| VYTVOŘIT TRASU | ZMĚNIT JAKOUKOLI TRASU | řídicí server |
| VYTVOŘIT PRAVIDLO | ALTER | řídicí server |
| VYTVOŘIT SCHÉMA | ZMĚNIT JAKÉKOLIV SCHÉMA | řídicí server |
| VYTVOŘIT SLUŽBU | ZMĚNIT LIBOVOLNOU SLUŽBU | řídicí server |
| VYTVOŘENÍ SYMETRICKÉHO KLÍČE | ZMĚNIT JAKÝKOLIV SYMMETRICKÝ KLÍČ | řídicí server |
| VYTVOŘIT SYNONYMUM | ALTER | řídicí server |
| CREATE TABLE | ALTER | řídicí server |
| VYTVOŘIT TYP | ALTER | řídicí server |
| VYTVOŘIT ZOBRAZENÍ | ALTER | řídicí server |
| VYTVOŘENÍ KOLEKCE SCHÉMAT XML | ALTER | řídicí server |
| DELETE | CONTROL | řídicí server |
| EXECUTE | CONTROL | řídicí server |
| SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO KONCOVÉHO BODU Platí pro: Azure SQL Database. |
CONTROL | řídicí server |
| SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO SKRIPTU Platí pro: SQL Server 2016 (13.x). |
CONTROL | řídicí server |
| SPUŠTĚNÍ EXTERNÍHO SKRIPTU platí pro: SQL Server 2019 (15.x). |
SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO SKRIPTU | řídicí server |
| INSERT | CONTROL | řídicí server |
| ZRUŠIT PŘIPOJENÍ K DATABÁZI Platí pro: Azure SQL Database. |
CONTROL | ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ |
| REFERENCES | CONTROL | řídicí server |
| SELECT | CONTROL | řídicí server |
| SHOWPLAN | CONTROL | ALTER TRACE |
| PŘIHLÁŠENÍ K ODBĚRU OZNÁMENÍ DOTAZŮ | CONTROL | řídicí server |
| PŘEVEZMĚTE ODPOVĚDNOST | CONTROL | řídicí server |
| UNMASK | CONTROL | řídicí server |
| UPDATE | CONTROL | řídicí server |
| ZOBRAZENÍ DEFINICE ŠIFROVACÍHO KLÍČE SLOUPCE | CONTROL | Zobrazte jakoukoli definici |
| ZOBRAZENÍ DEFINICE HLAVNÍHO KLÍČE SLOUPCE | CONTROL | Zobrazte jakoukoli definici |
| ZOBRAZENÍ STAVU DATABÁZE | CONTROL | ZOBRAZIT STAV SERVERU |
| ZOBRAZIT DEFINICI | CONTROL | Zobrazte jakoukoli 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 přihlášení k 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 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 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 db_securityadmin pevné databázové roli, č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. |
Vlastníci objektů můžou udělit oprávnění k objektům, které vlastní. 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 SERVER, jako jsou členové pevné role serveru sysadmin, mohou udělit jakékoli oprávnění na jakémkoli zabezpečitelném serveru na serveru.
Examples
A. Udělení oprávnění k vytváření tabulek
Následující příklad uděluje CREATE TABLE oprávnění k AdventureWorks databázi uživateli MelanieK.
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
B. Udělení oprávnění SHOWPLAN roli aplikace
Následující příklad uděluje SHOWPLAN oprávnění k AdventureWorks2025 databázi k roli AuditMonitoraplikace .
Platí pro: SQL Server 2008 (10.0.x) a novější, SQL Database
USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO
C. Udělení ZOBRAZENÍ CREATE pomocí MOŽNOSTI UDĚLENÍ
Následující příklad uděluje CREATE VIEW oprávnění k AdventureWorks2025 databázi uživateli CarmineEs s právem udělit CREATE VIEW jiným objektům zabezpečení.
USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO
D. Udělení oprávnění CONTROL databázovému uživateli
Následující příklad uděluje CONTROL oprávnění k AdventureWorks2025 databázi uživateli Sarahdatabáze . Uživatel musí existovat v databázi a kontext musí být nastaven na databázi.
USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO