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
Vrátí řádek pro každé oprávnění nebo oprávnění výjimky sloupce v databázi. Pro sloupce existuje řádek pro každé oprávnění, které se liší od odpovídajícího oprávnění na úrovni objektu. Pokud je oprávnění sloupce stejné jako odpovídající oprávnění objektu, neexistuje pro něj žádný řádek a použité oprávnění je objekt.
Important
Oprávnění na úrovni sloupce přepisuje oprávnění na úrovni objektu ve stejné entitě.
| Název sloupce | Datový typ | Description |
|---|---|---|
| class | tinyint | Identifikuje třídu, pro kterou existuje oprávnění. Další informace naleznete v tématu sys.securable_classes (Transact-SQL). 0 = Databáze 1 = objekt nebo sloupec 3 = schéma 4 = objekt zabezpečení databáze 5 = Sestavení – platí pro: SQL Server 2008 (10.0.x) a novější verze. 6 = Typ 10 = Kolekce schémat XML – platí pro: SQL Server 2008 (10.0.x) a novější verze. 15 = Typ zprávy – platí pro: SQL Server 2008 (10.0.x) a novější verze. 16 = Servisní kontrakt – platí pro: SQL Server 2008 (10.0.x) a novější verze. 17 = Služba – platí pro: SQL Server 2008 (10.0.x) a novější verze. 18 = Vazba vzdálené služby – platí pro: SQL Server 2008 (10.0.x) a novější verze. 19 = Trasa – platí pro: SQL Server 2008 (10.0.x) a novější verze. 23 = katalogFull-Text – platí pro: SQL Server 2008 (10.0.x) a novější verze. 24 = symetrický klíč – platí pro: SQL Server 2008 (10.0.x) a novější verze. 25 = Certifikát – platí pro: SQL Server 2008 (10.0.x) a novější verze. 26 = Asymetrický klíč – platí pro: SQL Server 2008 (10.0.x) a novější verze. 29 = Fulltext Stoplist - platí pro: SQL Server 2008 (10.0.x) a novější verze. 31 = Seznam vlastností vyhledávání – platí pro: SQL Server 2008 (10.0.x) a novější verze. 32 = Přihlašovací údaje s vymezeným oborem databáze – platí pro: SQL Server 2016 (13.x) a novější verze. 34 = Externí jazyk – platí pro: SQL Server 2019 (15.x) a novější verze. |
| class_desc | nvarchar(60) | Popis třídy, pro kterou existuje oprávnění. DATABASE OBJECT_OR_COLUMN SCHEMA DATABASE_PRINCIPAL ASSEMBLY TYPE XML_SCHEMA_COLLECTION MESSAGE_TYPE SERVICE_CONTRACT SERVICE REMOTE_SERVICE_BINDING ROUTE FULLTEXT_CATALOG SYMMETRIC_KEYS CERTIFICATE ASYMMETRIC_KEY SEZNAM ZASTAVENÝCH SLOV PRO ÚPLNÝ TEXT SEZNAM VLASTNOSTÍ HLEDÁNÍ PŘIHLAŠOVACÍ ÚDAJE V OBORU DATABÁZE EXTERNÍ JAZYK |
| major_id | int | ID věci, na které existuje oprávnění, interpretováno podle třídy. Obvykle major_id jednoduše druh ID, který se vztahuje na to, co třída představuje. 0 = samotná databáze >0 = Object-IDs pro uživatelské objekty <0 = Object-IDs pro systémové objekty |
| minor_id | int | Secondary-ID věcí, na kterých existuje oprávnění, interpretováno podle třídy.
minor_id je často nula, protože pro třídu objektu není k dispozici žádná podkategorie. V opačném případě se jedná o Column-ID tabulky. |
| grantee_principal_id | int | ID instančního objektu databáze, ke kterému jsou udělena oprávnění. |
| grantor_principal_id | int | ID instančního objektu databáze udělovače těchto oprávnění. |
| type | char(4) | Typ oprávnění databáze. Seznam typů oprávnění najdete v další tabulce. |
| permission_name | nvarchar(128) | Jméno povolení. |
| state | char(1) | Povolení uvádí: D = Odepřít R = Odvolat G = Grant W = Grant s opcí na grant |
| state_desc | nvarchar(60) | Popis stavu oprávnění: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Oprávnění k databázi
Jsou možné následující typy oprávnění.
| Typ oprávnění | Název oprávnění | Platí pro zabezpečitelné |
|---|---|---|
| AADS | ZMĚNA JAKÉHOKOLI SEZENÍ UDÁLOSTÍ DATABÁZE | DATABASE |
| AAMK | ZMĚNIT JAKOUKOLIV MASKU | DATABASE |
| AEDS | UPRAVIT JAKÝKOLIV EXTERNÍ ZDROJ DAT | DATABASE |
| AEFF | ZMĚNIT JAKÝKOLI EXTERNÍ FORMÁT SOUBORU | DATABASE |
| AL | ALTER | ROLE APLIKACE, SESTAVENÍ, ASYMETRICKÉ KLÍČE, CERTIFIKÁT, KONTRAKT, DATABÁZE, FULLTEXT KATALOG, TYP ZPRÁVY, OBJEKT, VZDÁLENÁ VAZBA SLUŽBY, ROLE, TRASA, SCHÉMA, SLUŽBA, SYMETRICKÝ KLÍČ, UŽIVATEL, KOLEKCE SCHÉMAT XML |
| ALAK | ZMĚNIT JAKÝKOLI ASYMETRICKÝ KLÍČ | DATABASE |
| ALAR | ZMĚNIT JAKOUKOLI APLIKAČNÍ ROLI | DATABASE |
| ALAS | ZMĚNIT JAKOUKOLI SLOŽKU | DATABASE |
| ALCF | Upravit jakýkoli certifikát | DATABASE |
| ALDS | ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR | DATABASE |
| ALED | UPRAVIT JAKÁKOLI OZNÁMENÍ O UDÁLOSTI DATABÁZE | DATABASE |
| ALFT | ZMĚNIT JAKÝKOLI FULLTEXTOVÝ KATALOG | DATABASE |
| ALMT | ZMĚNIT JAKÝKOLI TYP ZPRÁVY | DATABASE |
| ALRL | ZMĚNIT JAKOUKOLI ROLI | DATABASE |
| ALRT | ZMĚNIT JAKOUKOLI TRASU | DATABASE |
| ALSB | "Povolit úpravy jakéhokoliv vzdáleného služebního propojení" | DATABASE |
| ALSC | ZMĚNIT JAKOUKOLI SMLOUVU | DATABASE |
| ALSK | ZMĚNIT JAKÝKOLIV SYMMETRICKÝ KLÍČ | DATABASE |
| ALSM | ZMĚNIT JAKÉKOLIV SCHÉMA | DATABASE |
| ALSV | ZMĚNIT LIBOVOLNOU SLUŽBU | DATABASE |
| ALTG | ALTER ANY DATABÁZOVÝ DDL TRIGGER | DATABASE |
| ALUS | ZMĚNA LIBOVOLNÉHO UŽIVATELE | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | ZÁLOHOVAT DATABÁZI | DATABASE |
| BALO | ZÁLOHOVACÍ ZÁZNAM | DATABASE |
| CL | CONTROL | ROLE APLIKACE, SESTAVENÍ, ASYMETRICKÉ KLÍČE, CERTIFIKÁT, KONTRAKT, DATABÁZE, KATALOG FULLTEXT, TYP ZPRÁVY, OBJEKT, VZDÁLENÁ VAZBA SLUŽBY, ROLE, TRASA, SCHÉMA, SLUŽBA, SYMETRICKÝ KLÍČ, TYP, UŽIVATEL, KOLEKCE SCHÉMAT XML |
| CO | CONNECT | DATABASE |
| CORP | REPLIKACE CONNECT | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | VYTVOŘIT AGREGÁT | DATABASE |
| CRAK | VYTVOŘENÍ ASYMETRICKÉHO KLÍČE | DATABASE |
| CRAS | CREATE ASSEMBLY (vytvořit sestavení) | DATABASE |
| CRCF | VYTVOŘENÍ CERTIFIKÁTU | DATABASE |
| CRDB | VYTVOŘIT DATABÁZI | DATABASE |
| CRDF | VYTVOŘIT VÝCHOZÍ | DATABASE |
| CRED | VYTVOŘENÍ OZNÁMENÍ UDÁLOSTI DDL DATABÁZE | DATABASE |
| CRFN | VYTVOŘIT FUNKCI | DATABASE |
| CRFT | VYTVOŘIT FULLTEXT KATALOG | DATABASE |
| CRMT | VYTVOŘENÍ TYPU ZPRÁVY | DATABASE |
| CRPR | VYTVOŘENÍ POSTUPU | DATABASE |
| CRQU | VYTVOŘIT FRONTU | DATABASE |
| CRRL | VYTVOŘIT ROLI | DATABASE |
| CRRT | VYTVOŘIT TRASU | DATABASE |
| CRRU | VYTVOŘIT PRAVIDLO | DATABASE |
| CRSB | VYTVOŘENÍ VAZBY VZDÁLENÉ SLUŽBY | DATABASE |
| CRSC | VYTVOŘIT SMLOUVU | DATABASE |
| CRSK | VYTVOŘENÍ SYMETRICKÉHO KLÍČE | DATABASE |
| CRSM | VYTVOŘIT SCHÉMA | DATABASE |
| CRSN | VYTVOŘIT SYNONYMUM | DATABASE |
| CRSO |
platí pro: SQL Server 2012 (11.x) a novější verze. VYTVOŘIT SEKVENCI |
DATABASE |
| CRSV | VYTVOŘIT SLUŽBU | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | VYTVOŘIT TYP | DATABASE |
| CRVW | VYTVOŘIT ZOBRAZENÍ | DATABASE |
| CRXS |
platí pro: SQL Server 2008 (10.0.x) a novější verze. VYTVOŘENÍ KOLEKCE SCHÉMAT XML |
DATABASE |
| DABO | SPRÁVA HROMADNÝCH OPERACÍ DATABÁZE | DATABASE |
| DL | DELETE | DATABÁZE, OBJEKT, SCHÉMA |
| EAES | SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO SKRIPTU | DATABASE |
| EX | EXECUTE | SESTAVENÍ, DATABÁZE, OBJEKT, SCHÉMA, TYP, KOLEKCE SCHÉMAT XML |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABÁZE, OBJEKT, SCHÉMA |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLER, ASYMETRICKÝ KLÍČ, CERTIFIKÁT, SMLOUVA, DATABÁZE, KATALOG PLNÉHO TEXTU, TYP ZPRÁVY, OBJEKT, SCHÉMA, SYMETRICKÝ KLÍČ, TYP, XML SCHÉMA KOLEKCE |
| SL | SELECT | DATABÁZE, OBJEKT, SCHÉMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | PŘIHLÁŠENÍ K ODBĚRU OZNÁMENÍ DOTAZŮ | DATABASE |
| TO | PŘEVEZMĚTE ODPOVĚDNOST | ASSEMBLER, ASYMETRICKÝ KLÍČ, CERTIFIKÁT, KONTRAKT, DATABÁZE, KATALOG PLNÉHO TEXTU, TYP ZPRÁVY, OBJEKT, VZDÁLENÉ VAZBY SLUŽBY, ROLE, ROUTE, SCHÉMA, SLUŽBA, SYMETRICKÝ KLÍČ, TYP, XML SCHÉMA KOLEKCE |
| UP | UPDATE | DATABÁZE, OBJEKT, SCHÉMA |
| VW | ZOBRAZIT DEFINICI | ROLE APLIKACE, SESTAVENÍ, ASYMETRICKÉ KLÍČE, CERTIFIKÁT, KONTRAKT, DATABÁZE, KATALOG FULLTEXT, TYP ZPRÁVY, OBJEKT, VZDÁLENÁ VAZBA SLUŽBY, ROLE, TRASA, SCHÉMA, SLUŽBA, SYMETRICKÝ KLÍČ, TYP, UŽIVATEL, KOLEKCE SCHÉMAT XML |
| VWCK | ZOBRAZENÍ DEFINICE ŠIFROVACÍHO KLÍČE SLOUPCE | DATABASE |
| VWCM | ZOBRAZENÍ DEFINICE HLAVNÍHO KLÍČE SLOUPCE | DATABASE |
| VWCT | ZOBRAZIT SLEDOVÁNÍ ZMĚN | TABULKA, SCHÉMA |
| VWDS | ZOBRAZIT STAV DATABÁZE | DATABASE |
OPRÁVNĚNÍ K ODVOLÁNÍ a výjimce sloupců
Ve většině případů příkaz REVOKE odebere položku GRANT nebo ODEPŘÍT z sys.database_permissions.
U objektu je však možné udělit nebo odepřít oprávnění a pak toto oprávnění odvolat u sloupce. Toto oprávnění k výjimce sloupce se v sys.database_permissions zobrazí jako REVOKE. Podívejte se na následující příklad:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Tato oprávnění se zobrazí v sys.database_permissions jako jeden GRANT (v tabulce) a jeden REVOKE (ve sloupci).
Important
ODVOLÁNÍ se liší od ODEPŘÍT, protože Sales objekt zabezpečení může mít stále přístup ke sloupci prostřednictvím jiných oprávnění. Pokud jsme odepřeli oprávnění místo jejich odvolání, Sales by nemohl zobrazit obsah sloupce, protože DENY vždy nahrazuje GRANT.
Permissions
Každý uživatel může zobrazit vlastní oprávnění. Pokud chcete zobrazit oprávnění pro ostatní uživatele, vyžaduje ZOBRAZENÍ DEFINICE, ALTER ANY USER nebo jakékoli oprávnění pro uživatele. Chcete-li zobrazit uživatelem definované role, vyžaduje ALTER ANY ROLE nebo členství v roli (například veřejné).
Viditelnost metadat v zobrazeních katalogu je omezená na zabezpečitelné, které uživatel vlastní nebo na kterých uživatel udělil určité oprávnění. Další informace naleznete v tématu konfigurace viditelnosti metadat.
Examples
A. Výpis všech oprávnění objektů zabezpečení databáze
Následující dotaz zobrazí seznam oprávnění explicitně udělených nebo odepřených objektům zabezpečení databáze.
Important
Oprávnění pevných databázových rolí se v sys.database_permissionsnezobrazují . Instanční objekty databáze proto můžou mít další oprávnění, která tady nejsou uvedená.
SELECT pr.principal_id
,pr.name
,pr.type_desc
,pr.authentication_type_desc
,pe.state_desc
,pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id;
B. Výpis oprávnění k objektům schématu v databázi
Následující dotaz spojí sys.database_principals a sys.database_permissions k sys.objects a sys.schemas k výpisu oprávnění udělených nebo odepřených konkrétním objektům schématu.
SELECT pr.principal_id
,pr.name
,pr.type_desc
,pr.authentication_type_desc
,pe.state_desc
,pe.permission_name
,s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id;
C. Seznam oprávnění pro konkrétní objekt
Pomocí předchozího příkladu můžete dotazovat oprávnění specifická pro jeden databázový objekt.
Představte si například následující podrobná oprávnění udělená uživateli databáze
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Vyhledejte podrobná oprávnění přiřazená k dbo.vAssocSeqOrders:
SELECT pr.principal_id
,pr.name
,pr.type_desc
,pr.authentication_type_desc
,pe.state_desc
,pe.permission_name
,s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id
WHERE o.name = 'vAssocSeqOrders'
AND s.name = 'dbo';
Vrátí výstup:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Viz také
- Securables
- hierarchie oprávnění
(databázový stroj) - zobrazení katalogu zabezpečení (Transact-SQL)
- zobrazení katalogu (Transact-SQL)