sys.fn_my_permissions (języka Transact-SQL)

Zwraca listę uprawnień skutecznie kapitału na zabezpieczany.Pokrewne funkcja jest HAS_PERMS_BY_NAME.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

fn_my_permissions ( securable , 'securable_class' )

Argumenty

  • securable
    Jest nazwą zabezpieczany.W przypadku zabezpieczany serwera lub bazy danych, wartość ta powinna być zestaw na NULL.securablewartość skalarnawyrażenie typu sysname.securablemoże być nazwą wieloczęściową.

  • 'securable_class'
    Jest to nazwa klasy zabezpieczany dla których uprawnienia są wyświetlane.securable_classis a sysname.securable_class należy wybrać jedną z następujących czynności: ROLA APLIKACJI, ZESTAWU, KLUCZA ASYMETRYCZNEGO, CERTYFIKAT, UMOWY, BAZY DANYCH, PUNKT KOŃCOWY, KATALOG PEŁNOTEKSTOWY, LOGOWANIA, TYP WIADOMOŚCI, OBIEKTU, WIĄZANIE ZDALNYCH USŁUG, ROLI, TRASY, SCHEMATU, SERWERA, USŁUGI, KLUCZ SYMETRYCZNY, TYP, UŻYTKOWNIKA, KOLEKCJI SCHEMATU XML.

Zwrócił kolumny

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

Nazwa kolumny

Typ

Opis

entity_name

sysname

Nazwa zabezpieczany skutecznie udzielono uprawnienia wymienione na liście.

subentity_name

sysname

Nazwa kolumny, jeśli zabezpieczany ma kolumn, w przeciwnym razie NULL.

permission_name

nvarchar

Nazwę uprawnienia.

Uwagi

W tej tabela-wyceniane funkcja zwraca listę czynnych uprawnień posiadanych przez wywołującego kapitału na określonego zabezpieczany.Czynne uprawnienia jest jednym z następujących czynności:

  • Uprawnienia udzielone bezpośrednio do kapitału, a nie odmówiono.

  • Uprawnienia wprost przez wyższe-poziom uprawnień posiadanych przez głównego zobowiązanego i nie odmówiono.

  • Uprawnienia przyznane roli lub grupy, które główny zobowiązany jest element członkowskii nie odmówiono.

  • Uprawnienia roli lub grupie, której główny zobowiązany jest element członkowskii nie odmówiono.

Ocena uprawnienie jest zawsze przeprowadzane w kontekście zabezpieczeń wywołującego.Aby ustalić, czy inny podmiot ma czynne uprawnienia, obiekt wywołujący musi mieć uprawnienie PERSONIFIKUJ zleceniodawcy.

Dla schematupoziom podmioty, jedno-, dwu- lub trzech części niepustych nazwy są akceptowane.Dla bazy danych -poziom podmiotów, nazwę jednej części jest akceptowany z null wartość znaczenie "bieżącej bazy danych".Samego serwera wymagana jest wartość null (znaczenie "bieżącego serwera").fn_my_permissionsnie można sprawdzić uprawnień na serwer połączony.

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

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

Jeśli 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

Poniższy przykład zwraca listę czynnych uprawnień rozmówcy na serwerze.

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

B.Wyświetlanie czynnych uprawnień do bazy danych

Poniższy przykład zwraca listę czynnych uprawnień rozmówcy na AdventureWorks2008R2 bazy danych.

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

C.Wyświetlanie czynnych uprawnień do widoku

Poniższy przykład zwraca listę czynnych uprawnień rozmówcy na vIndividualCustomer przeglądać w Sales schemat AdventureWorks2008R2 bazy danych.

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

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

Poniższy przykład zwraca listę czynnych uprawnień użytkownika bazy danych Wanida na Employee tabela w HumanResources schemat AdventureWorks2008R2 bazy 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

Poniższy przykład zwraca listę czynnych uprawnień wywołującego certyfikat o nazwie Shipping47 w bieżącej bazie danych.

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

F.Wyświetlanie czynnych uprawnień do kolekcji schematu XML

Poniższy przykład zwraca listę czynnych uprawnień wywołującego w kolekcji schematu XML, o nazwie ProductDescriptionSchemaCollection w AdventureWorks2008R2 bazy danych.

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

G.Wyświetlanie czynnych uprawnień użytkownika bazy danych

Poniższy przykład zwraca listę czynnych uprawnień rozmówcy 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

Poniższy przykład zwraca listę czynne uprawnienia SQL Server logowania WanidaBenshoof na Employee tabela w HumanResources schemat AdventureWorks2008R2 bazy danych.Obiekt wywołujący wymaga uprawnienia PERSONIFIKUJ, na SQL Server logowania WanidaBenshoof.

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