sys.server_permissions (Transact-SQL)

Vztahuje se na:SQL ServerAzure SQL Managed Instance

Vrátí jeden řádek pro každé oprávnění na úrovni serveru.

Název sloupce Datový typ Description
třída tinyint Identifikuje třídu věcí, na které existuje oprávnění.

100 = Server

101 = Server-principal

105 = Koncový bod

108 = Skupina dostupnosti
class_desc nvarchar(60) Popis třídy, pro kterou existuje oprávnění. Jedna z následujících hodnot:

serveru

SERVER_PRINCIPAL

ENDPOINT

AVAILABILITY GROUP
major_id int ID zajištěného objektu, na kterém existuje oprávnění, interpretované podle třídy. Pro většinu lidí je to prostě ten druh ID, který se vztahuje na to, co třída představuje. Interpretace pro nestandardní je následující:

100 = Vždy 0
minor_id int Sekundární ID věci, na které existuje povolení, interpretované podle třídy.
grantee_principal_id int Server-principal-ID, ke kterému jsou oprávnění udělena.
grantor_principal_id int Server-principal-ID udělovatele těchto oprávnění.
type znak(4) Typ oprávnění serveru. 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 = Možnost Grant With Grant
state_desc nvarchar(60) Popis stavu oprávnění:

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION
Typ oprávnění Název oprávnění Platí pro zabezpečitelné
AAES Změnit libovolný EVENT SESSION SERVER
ADBO SPRÁVA HROMADNÝCH OPERACÍ SERVER
AL ALTER ENDPOINT, LOGIN
ALAA Změnit libovolný SERVER AUDIT SERVER
ALAG Změnit libovolný AVAILABILITY GROUP SERVER
ALCD Změnit libovolný CREDENTIAL SERVER
ALCO ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ SERVER
ALDB Změnit libovolný DATABASE SERVER
ALES Změnit libovolný EVENT NOTIFICATION SERVER
ALHE Změnit libovolný ENDPOINT SERVER
ALLG Změnit libovolný LOGIN SERVER
ALLS ZMĚNIT JAKÝKOLI PROPOJENÝ SERVER SERVER
ALRS Změnit zdroje SERVER
ALSR Změnit libovolný SERVER ROLE SERVER
ALSS Změnit stav serveru SERVER
ALST Změnit nastavení SERVER
ALTR ALTEROVÁ STOPA SERVER
OVĚŘOVÁNÍ OVĚŘENÍ SERVERU SERVER
CADB SPOJTE JAKÉKOLIV DATABASE SERVER
CL CONTROL ENDPOINT, LOGIN
CL řídicí server SERVER
Oxid uhelnatý CONNECT ENDPOINT
COSQ CONNECT SQL SERVER
CRAC CREATE AVAILABILITY GROUP SERVER
CRDB VYTVOŘTE LIBOVOLNÉ DATABASE SERVER
CRDE VYTVOŘIT DDL EVENT NOTIFICATION SERVER
CRHE CREATE ENDPOINT SERVER
CRSR CREATE SERVER ROLE SERVER
CRTE VYTVOŘIT TRACE EVENT NOTIFICATION SERVER
IAL PŘEDSTÍREJTE SE ZA KOHOKOLI LOGIN SERVER
IM IMPERSONATE LOGIN
SHDN SHUTDOWN SERVER
SUS VYBRAT VŠECHNY USER SECURABLES SERVER
TO PŘEVEZMĚTE ODPOVĚDNOST ENDPOINT
VW VIEW DEFINICE ENDPOINT, LOGIN
VWAD VIEW JAKÁKOLI DEFINICE SERVER
VWDB VIEW JAKÝKOLI DATABASE SERVER
VWSS VIEW STAV SERVERU SERVER
XA EXTERNÍ PŘÍSTUP SERVER
XU NEBEZPEČNÉ ASSEMBLY SERVER

Permissions

Každý uživatel může zobrazit vlastní oprávnění. Pro zobrazení oprávnění k dalším přihlašovacím údajům je VIEW potřeba DEFINOVAT, ZMĚNIT JAKÉKOLI LOGIN, nebo jakékoli oprávnění k přihlášení. Pro zobrazení uživatelsky definovaných serverových rolí je potřeba ALTER JAKÝKOLI SERVER ROLE, tedy členství v roli.

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje oprávnění VIEW ANY SECURITY DEFINITION na serveru.

Examples

Následující dotaz zobrazí seznam oprávnění explicitně udělených nebo odepřených instančním objektům serveru.

Important

Oprávnění pevných serverových rolí se v sys.server_permissions neobjevují. Objekty zabezpečení serveru proto můžou mít další oprávnění, která tady nejsou uvedená.

SELECT pr.principal_id, pr.name, pr.type_desc,   
    pe.state_desc, pe.permission_name   
FROM sys.server_principals AS pr   
JOIN sys.server_permissions AS pe   
    ON pe.grantee_principal_id = pr.principal_id;