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 FULLTEXT STOPLIST SEARCH PROPERTY LIST DATABASE SCOPED CREDENTIAL EXTERNAL LANGUAGE |
| 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 | ALTER ANY DATABASEEVENT SESSION | DATABASE |
| AAMK | ZMĚNIT JAKOUKOLIV MASKU | DATABASE |
| AEDS | Změnit libovolný EXTERNAL DATA SOURCE | DATABASE |
| AEFF | Změnit libovolný EXTERNAL FILE FORMAT | DATABASE |
| AL | ALTER | APPLICATION ROLE, ASSEMBLY, , ASYMMETRIC KEYCERTIFICATE, CONTRACT, , DATABASE, FULLTEXT CATALOG, MESSAGE TYPEOBJEKT, REMOTE SERVICE BINDING, , ROLE, ROUTE, SCHEMASERVICE, , SYMMETRIC KEYUSERXML SCHEMA COLLECTION |
| ALAK | Změnit libovolný ASYMMETRIC KEY | DATABASE |
| ALAR | Změnit libovolný APPLICATION ROLE | DATABASE |
| ALAS | Změnit libovolný ASSEMBLY | DATABASE |
| ALCF | Změnit libovolný CERTIFICATE | DATABASE |
| ALDS | ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR | DATABASE |
| ALED | ALTER ANY DATABASEEVENT NOTIFICATION | DATABASE |
| ALFT | Změnit libovolný FULLTEXT CATALOG | DATABASE |
| ALMT | Změnit libovolný MESSAGE TYPE | DATABASE |
| ALRL | Změnit libovolný ROLE | DATABASE |
| ALRT | Změnit libovolný ROUTE | DATABASE |
| ALSB | Změnit libovolný REMOTE SERVICE BINDING | DATABASE |
| ALSC | Změnit libovolný CONTRACT | DATABASE |
| ALSK | Změnit libovolný SYMMETRIC KEY | DATABASE |
| ALSM | Změnit libovolný SCHEMA | DATABASE |
| ALSV | Změnit libovolný SERVICE | DATABASE |
| ALTG | UPRAVTE LIBOVOLNÉ DATABASE DDL TRIGGER | DATABASE |
| ALUS | Změnit libovolný USER | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | BACKUP DATABASE | DATABASE |
| BALO | BACKUP PROTOKOL | DATABASE |
| CL | CONTROL | APPLICATION ROLE ASSEMBLY ASYMMETRIC KEY CERTIFICATE, , CONTRACT, DATABASE, , FULLTEXT CATALOG, MESSAGE TYPEOBJEKT, REMOTE SERVICE BINDING, ROLE, , ROUTE, SCHEMASERVICE, , SYMMETRIC KEY, , TYPE, USERXML SCHEMA COLLECTION |
| CO | CONNECT | DATABASE |
| CORP | REPLIKACE CONNECT | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | CREATE AGGREGATE | DATABASE |
| CRAK | CREATE ASYMMETRIC KEY | DATABASE |
| CRAS | CREATE ASSEMBLY | DATABASE |
| CRCF | CREATE CERTIFICATE | DATABASE |
| CRDB | CREATE DATABASE | DATABASE |
| CRDF | CREATE DEFAULT | DATABASE |
| CRED | CREATE DATABASE DDL EVENT NOTIFICATION | DATABASE |
| CRFN | CREATE FUNCTION | DATABASE |
| CRFT | CREATE FULLTEXT CATALOG | DATABASE |
| CRMT | CREATE MESSAGE TYPE | DATABASE |
| CRPR | CREATE PROCEDURE | DATABASE |
| CRQU | CREATE QUEUE | DATABASE |
| CRRL | CREATE ROLE | DATABASE |
| CRRT | CREATE ROUTE | DATABASE |
| CRRU | CREATE RULE | DATABASE |
| CRSB | CREATE REMOTE SERVICE BINDING | DATABASE |
| CRSC | CREATE CONTRACT | DATABASE |
| CRSK | CREATE SYMMETRIC KEY | DATABASE |
| CRSM | CREATE SCHEMA | DATABASE |
| CRSN | CREATE SYNONYM | DATABASE |
| CRSO |
platí pro: SQL Server 2012 (11.x) a novější verze. CREATE SEQUENCE |
DATABASE |
| CRSV | CREATE SERVICE | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | CREATE TYPE | DATABASE |
| CRVW | CREATE VIEW | DATABASE |
| CRXS |
platí pro: SQL Server 2008 (10.0.x) a novější verze. CREATE XML SCHEMA COLLECTION |
DATABASE |
| DABO | SPRAVOVAT DATABASE HROMADNÉ OPERACE | DATABASE |
| DL | DELETE | DATABASE, OBJEKT, SCHEMA |
| EAES | SPUŠTĚNÍ LIBOVOLNÉHO EXTERNÍHO SKRIPTU | DATABASE |
| EX | EXECUTE | ASSEMBLY, , DATABASEOBJEKT, SCHEMA, TYPE, XML SCHEMA COLLECTION |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABASE, OBJEKT, SCHEMA |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLY, ASYMMETRIC KEY, , CERTIFICATECONTRACT, , DATABASE, FULLTEXT CATALOG, MESSAGE TYPEOBJEKT, SCHEMA, , SYMMETRIC KEY, TYPEXML SCHEMA COLLECTION |
| SL | SELECT | DATABASE, OBJEKT, SCHEMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | PŘIHLÁŠENÍ K ODBĚRU OZNÁMENÍ DOTAZŮ | DATABASE |
| TO | PŘEVEZMĚTE ODPOVĚDNOST | ASSEMBLY, ASYMMETRIC KEY, , CERTIFICATECONTRACT, , DATABASE, FULLTEXT CATALOG, MESSAGE TYPEOBJEKT, REMOTE SERVICE BINDING, , ROLE, ROUTE, SCHEMASERVICE, , SYMMETRIC KEY, , TYPEXML SCHEMA COLLECTION |
| UP | UPDATE | DATABASE, OBJEKT, SCHEMA |
| VW | VIEW DEFINICE | APPLICATION ROLE ASSEMBLY ASYMMETRIC KEY CERTIFICATE, , CONTRACT, DATABASE, , FULLTEXT CATALOG, MESSAGE TYPEOBJEKT, REMOTE SERVICE BINDING, ROLE, , ROUTE, SCHEMASERVICE, , SYMMETRIC KEY, , TYPE, USERXML SCHEMA COLLECTION |
| VWCK | VIEW JAKÁKOLI COLUMN ENCRYPTION KEY DEFINICE | DATABASE |
| VWCM | VIEW JAKÁKOLI COLUMN MASTER KEY DEFINICE | DATABASE |
| VWCT | VIEW SLEDOVÁNÍ ZMĚN | TABLE, SCHEMA |
| VWDS | VIEW DATABASE STÁT | DATABASE |
REVOKE a oprávnění pro výjimky ve sloupcích
Ve většině případů příkaz REVOKE odstraní nebo GRANTDENY entry z sys.database_permissions.
Nicméně je možné udělat GRANTDENY oprávnění na objektu a pak REVOKE toto oprávnění na sloupci. Toto povolení k výjimce ve sloupci se zobrazí jako REVOKE v sys.database_permissions. 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 v sys.database_permissions zobrazí jako jedno GRANT (v tabulce) a jedno REVOKE (ve sloupci).
Important
REVOKE se liší od DENY, protože Sales hlavní subjekt může mít stále přístup ke sloupci prostřednictvím jiných oprávnění. Kdybychom povolení zamítli místo jejich odebrání, nemohli bychom zobrazit obsah sloupce, Sales protože DENY vždy převyšuje GRANT.
Permissions
Každý uživatel může zobrazit vlastní oprávnění. Pro zobrazení oprávnění pro ostatní uživatele je potřeba VIEW DEFINOVAT, ZMĚNIT JAKÉKOLI USER, nebo jakékoli oprávnění na uživateli. Pro zobrazení uživatelsky definovaných rolí je potřeba ALTER JAKÝKOLI 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.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění VIEW SECURITY DEFINITION k databázi.
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
WHERE pe.class = 1;
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 pe.class = 1
AND 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
Související obsah
- Securables
- hierarchie oprávnění
(databázový stroj) - zobrazení katalogu zabezpečení (Transact-SQL)
- zobrazení katalogu (Transact-SQL)