Sdílet prostřednictvím


UDĚLENÍ oprávnění k databázi (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Uděluje oprávnění k databázi na SQL Serveru.

Transact-SQL konvence syntaxe

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

Viz také