fn_my_permissions (Transact-SQL)

Zwraca listę uprawnień udzielonych skutecznie głównej na zabezpieczany.Funkcja pokrewne HAS_PERMS_BY_NAME (języka Transact-SQL).

Topic link iconKonwencje składni języka Transact-SQL

fn_my_permissions ( securable , 'securable_class')

Argumenty

  • securable
    Jest nazwą zabezpieczany.If the securable is the server or a database, this value should be set to NULL.securable is a scalar expression of type sysname.securable can be a multipart name.

  • 'securable_class'
    Is the name of the class of securable for which permissions are listed.securable_class is a sysname.securable_class must be one of the following: rola aplikacji, wirtualny plik dziennika, KLUCZA ASYMETRYCZNEGO, certyfikat, kontrakt, BAZY DANYCH, PUNKT KOŃCOWY, WYKAZU WIĘCEJ, LOGOWANIA, typ komunikatu, OBIEKTU, wiązanie usługa ZDALNEGO, ROLI, trasa, SCHEMATU, SERWERA, usługa, klucz zawartości, TYP, UŻYTKOWNIK, kolekcja SCHEMATU XML.

Kolumny, zwrot

Poniższa tabela zawiera listę kolumn, fn_my_permissions zwraca.Każdy wiersz, który jest zwracany zawiera opis uprawnień posiadanych przez bieżący kontekst zabezpieczeń na zabezpieczany.Zwraca wartość NULL, jeśli kończy się niepowodzeniem.

Nazwa kolumna

Typ

Description

nazwa_obiektu

sysname

Nazwa zabezpieczanych, na którym skutecznie są przyznawane uprawnienia wymienione na liście.

subentity_name

sysname

Nazwa kolumna, jeśli zabezpieczany zawiera kolumna, w przeciwnym razie NULL.

permission_name

nvarchar

Nazwa tego uprawnienia.

Remarks

Ta funkcja wycenione tabela zwraca listę czynnych uprawnień posiadanych przez wywołującego kapitału w określonej zabezpieczany.Uprawnienie do skutecznego jest jeden z następujących czynności:

  • Uprawnienia udzielone bezpośrednio do głównej i nie są odrzucane.

  • Implikowane przez wyższego poziom uprawnień posiadanych przez głównej i nie odmówiono uprawnienia.

  • Uprawnienia udzielone roli lub grupie, do której główny element członkowski i nie są odrzucane.

  • Uprawnienia roli lub grupie, której członkiem jest główny, a nie odmówiono.

Ocena uprawnienie jest zawsze przeprowadzane w kontekście zabezpieczeń wywołującego.Aby ustalić, czy niektóre inne podmiot ma uprawnienie do skutecznego, obiekt wywołujący musi mieć uprawnienie PERSONIFIKACJI tego podmiotu.

Dla obiektów poziom schematu jedno-, dwu- lub trzy części niepustych nazwy są akceptowane.Dla obiektów bazy danych poziom nazwa jednej części zaakceptowaniu o znaczeniu wartość null"Bieżąca baza danych".For the server itself, a null value (meaning "current server") is required.fn_my_permissions cannot check permissions on a linked server.

Następująca kwerenda zwróci listę wbudowanych zabezpieczany klas:

SELECT DISTINCT class_desc FROM fn_builtin_permissions(default)
    ORDER BY class_desc;
GO

Jeżeli domyślny jest podany jako wartość securable lub securable_class, wartość będzie interpretowana jako wartość NULL.

Przykłady

A.Wyświetlanie czynnych uprawnień na serwerze

W poniższym przykładzie zwraca listę czynnych uprawnień rozmówcy na serwerze.

SELECT * FROM fn_my_permissions(NULL, 'SERVER');
GO

B.Wyświetlanie czynnych uprawnień do bazy danych

W poniższym przykładzie zwraca listę czynnych uprawnień wywołującego na AdventureWorks Baza danych.

USE AdventureWorks;
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
GO

C.Wyświetlanie czynnych uprawnień do widoku

W poniższym przykładzie zwraca listę czynnych uprawnień wywołującego na vIndividualCustomer wyświetlanie w Sales schemat AdventureWorks Baza danych.

USE AdventureWorks;
SELECT * FROM fn_my_permissions('Sales.vIndividualCustomer', 'OBJECT') 
    ORDER BY subentity_name, permission_name ; 
GO 

D.Wyświetlanie czynnych uprawnień innego użytkownika

W poniższym przykładzie zwraca listę czynne uprawnienia użytkownika bazy danych Wanida na Employee Tabela w HumanResources schemat AdventureWorks Baza danych. Uprawnienie do PERSONIFIKACJI użytkownika wymaga obiekt wywołujący Wanida.

EXECUTE AS USER = 'Wanida';
SELECT * FROM fn_my_permissions('HumanResources.Employee', 'OBJECT') 
    ORDER BY subentity_name, permission_name ;  
REVERT;
GO

E.Wyświetlanie czynnych uprawnień do certyfikat

W poniższym przykładzie zwraca listę czynnych uprawnień wywołującego na certyfikat o nazwie Shipping47 w bieżącej bazie danych.

SELECT * FROM fn_my_permissions('Shipping47', 'CERTIFICATE');
GO

F.Wyświetlanie czynnych uprawnień do kolekcja schematów XML

W poniższym przykładzie zwraca listę czynnych uprawnień rozmówcy na kolekcja schematów XML o nazwie ProductDescriptionSchemaCollection w AdventureWorks Baza danych.

USE AdventureWorks;
SELECT * FROM fn_my_permissions('ProductDescriptionSchemaCollection',
    'XML SCHEMA COLLECTION');
GO

G.Wyświetlanie czynnych uprawnień do użytkowników bazy danych

W poniższym przykładzie zwraca listę czynnych uprawnień wywołującego na użytkownika o nazwie MalikAr w bieżącej bazie danych.

SELECT * FROM fn_my_permissions('MalikAr', 'USER');
GO

H.Wyświetlanie czynnych uprawnień innym logowania

W poniższym przykładzie zwraca listę czynne uprawnienia z SQL Server Identyfikator logowania WanidaBenshoof na Employee Tabela w HumanResources schemat AdventureWorks Baza danych. Obiekt wywołujący wymaga uprawnienie do PERSONIFIKACJI na SQL Server Identyfikator logowania WanidaBenshoof.

EXECUTE AS LOGIN = 'WanidaBenshoof';
SELECT * FROM fn_my_permissions('AdventureWorks.HumanResources.Employee', 'OBJECT') 
    ORDER BY subentity_name, permission_name ;  
REVERT;
GO