Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics platformrendszer (PDW)
SQL-elemzési végpont a Microsoft Fabric
A Microsoft Fabric Warehouse-ban
Visszaadja a megbízott jogosultságok listáját, amelyeket a megbízott egy biztosítékon adott. Egy kapcsolódó függvény HAS_PERMS_BY_NAME.
Transact-SQL szintaxis konvenciók
Szemantika
fn_my_permissions ( securable , 'securable_class' )
Arguments
securable
A biztosított név. Ha a biztosítható szerver vagy adatbázis, akkor ezt az értéket be kell állítani .NULL
Securable a sysname típus skaláris kifejezése.
Securable lehet többrészes név.
'securable_class'
Az a biztonsági osztály neve, amelyhez jogosultságokat tartalmaznak.
securable_classa sysname, alapértelmezett értéke NULL.
Ennek az érvnek az alábbi értékek egyike kell legyen: APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, DATABASESERVICECERTIFICATEOBJECTMESSAGE TYPEREMOTE SERVICE BINDINGLOGINROLEFULLTEXT CATALOGROUTESCHEMAENDPOINTCONTRACTSYMMETRIC KEYTYPESERVERUSER, , . XML SCHEMA COLLECTION A NULL érték alapértelmezettként .SERVER
Visszaadott oszlopok
Az alábbi táblázat a visszaadott fn_my_permissions oszlopokat sorolja fel. Minden visszaadott sor leírja a jelenlegi biztonsági kontextusban lévő jogosultságot. Visszaad NULL , ha a lekérdezés meghiúsul.
| Oszlop név | Típus | Description |
|---|---|---|
entity_name |
sysname | Annak a biztosítéknak a neve, amelyen a felsorolt engedélyek gyakorlatilag megkapják. |
subentity_name |
sysname | Az oszlop neve, ha a biztosítható oszlopokat tartalmaz, különben NULL. |
permission_name |
nvarchar | Az engedély neve. |
Megjegyzések
Ez a táblázatértékű függvény egy adott biztosított eszköz által birtokolt hatékony jogosultságok listáját adja vissza. A hatékony engedély az alábbi lehetőségek bármelyike lehet:
- Engedély, amelyet közvetlenül az igazgatónak adnak, és nem tagadtak meg.
- Ez egy magasabb szintű engedély által feltételezett engedély, amelyet az igazgató birtokol, és nem tagadják meg.
- Olyan engedély, amelyet egy olyan szerepnek vagy csoportnak adnak, amelynek a főnöke tagja, és amelyet nem tagadnak meg.
- Egy olyan szerep vagy csoport engedélye, amelynek a főnök tagja, és amelyet nem tagadnak meg.
Az engedélyértékelést mindig a hívó biztonsági kontextusában végzik. Annak megállapításához, hogy más megbízónak van tényleges engedélye, a hívónak engedélyt kell IMPERSONATE kapnia ezen az alapon.
Sémaszintű entitások esetén egy-, két- vagy háromrészes nem-null neveket fogadnak el. Adatbázis-szintű entitások esetén egyrészes nevet fogadnak el, ahol null érték a jelenlegi adatbázist jelenti. Magának a szervernek null értéke (azaz a jelenlegi szerver) kell lennie.
fn_my_permissions Nem tudom ellenőrizni a jogosultságokat egy linked szerveren.
A következő lekérdezés a beépített biztonsági osztályok listáját adja vissza:
SELECT DISTINCT class_desc
FROM fn_builtin_permissions(DEFAULT)
ORDER BY class_desc;
GO
Ha DEFAULT a Securable vagy securable_class értékként van megadva, akkor az értéket úgy értelmezzük, mint NULL.
Ez fn_my_permissions a funkció nem támogatott az Azure Synapse Analytics dedikált SQL poolokban.
Permissions
A nyilvános szerepkör tagságát igényli.
Példák
A. A szerver hatékony jogosultságainak listázása
A következő példa visszaadja a hívó hatékony jogosultságainak listáját a szerveren.
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
GO
B. Hatékony jogosultságok listázása az adatbázisban
Az alábbi példa adja vissza a hívó hatékony jogosultságainak listáját az AdventureWorks2025 adatbázisban.
USE AdventureWorks2022;
SELECT * FROM fn_my_permissions(NULL, 'DATABASE');
GO
C. A hatásos jogosultságok listázása egy nézeten
A következő példa visszaadja a hívó hatékony jogosultságainak listáját az vIndividualCustomer adatbázis sémájában AdventureWorks2025 lévő nézetenSales.
USE AdventureWorks2022;
GO
SELECT * FROM fn_my_permissions('Sales.vIndividualCustomer', 'OBJECT')
ORDER BY subentity_name, permission_name;
GO
D. Felsorolja egy másik felhasználó hatékony jogosultságait
A következő példa adja vissza az adatbázis-felhasználó Wanida hatékony jogosultságainak listáját az Employee adatbázis sémájának AdventureWorks2025 táblázatánHumanResources. A hívónak engedélyt kell IMPERSONATE kérnie a felhasználótól Wanida.
EXECUTE AS USER = 'Wanida';
SELECT *
FROM fn_my_permissions('HumanResources.Employee', 'OBJECT')
ORDER BY subentity_name, permission_name;
REVERT;
GO
E. Hatékony jogosultságok listázása egy tanúsítványon
A következő példa a hívó hatékony jogosultságainak listáját adja vissza egy jelenlegi adatbázisban megnevezett Shipping47 tanúsítványon.
SELECT * FROM fn_my_permissions('Shipping47', 'CERTIFICATE');
GO
F. Hatékony jogosultságok listázása XML sémagyűjteményen
A következő példa egy XML sémagyűjtemény alkalmazásának hatékony jogosultságainak listáját adja vissza, amelyet az adatbázisban megneveznek ProductDescriptionSchemaCollectionAdventureWorks2025 .
USE AdventureWorks2022;
GO
SELECT * FROM fn_my_permissions(
'ProductDescriptionSchemaCollection',
'XML SCHEMA COLLECTION'
);
GO
G. Hatékony jogosultságok listázása egy adatbázis-felhasználóhoz
A következő példa visszaadja a hívó hatékony jogosultságainak listáját egy jelenlegi adatbázisban megnevezett MalikAr felhasználón.
SELECT * FROM fn_my_permissions('MalikAr', 'USER');
GO
H. Sorold fel egy másik bejelentkezés hatékony jogosultságait
A következő példa az adatbázis sémájában AdventureWorks2025 található táblázaton található SQL Server bejelentkezés HumanResourcesWanidaBenshoofEmployee hatékony jogosultságainak listáját adja vissza. A hívónak engedélyt kell IMPERSONATE az SQL Server bejelentkezéséhez WanidaBenshoof.
EXECUTE AS LOGIN = 'WanidaBenshoof';
SELECT *
FROM fn_my_permissions('AdventureWorks2022.HumanResources.Employee', 'OBJECT')
ORDER BY subentity_name, permission_name;
REVERT;
GO