sys.server_permissions (Transact-SQL)
Restituisce una riga per ogni autorizzazione a livello di server.
Si applica a: SQL Server (da SQL Server 2008 a versione corrente). |
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
classe |
tinyint |
Identifica la classe dell'elemento per cui esiste l'autorizzazione. 100 = Server 101 = Entità server 105 = Endpoint |
class_desc |
nvarchar(60) |
Descrizione della classe per cui esiste l'autorizzazione.
|
major_id |
int |
ID dell'entità a sicurezza diretta per cui esiste l'autorizzazione, interpretato in base alla classe di appartenenza. Nella maggior parte dei casi, si tratta semplicemente dell'ID che si applica a ciò che la classe rappresenta. Negli altri casi, l'interpretazione dei possibili valori è la seguente: 100 = Sempre 0 |
minor_id |
int |
ID secondario dell'elemento per cui esiste l'autorizzazione, interpretato in base alla classe di appartenenza. |
grantee_principal_id |
int |
ID dell'entità server alla quale vengono concesse le autorizzazioni. |
grantor_principal_id |
int |
ID dell'entità server dell'utente che concede queste autorizzazioni. |
tipo |
char(4) |
Tipo di autorizzazione per il server. Per un elenco dei tipi di autorizzazioni, vedere la tabella seguente. |
permission_name |
nvarchar(128) |
Nome dell'autorizzazione. |
state |
char(1) |
Stato dell'autorizzazione: D = Deny R = Revoke G = Grant W = Grant With Grant Option |
state_desc |
nvarchar(60) |
Descrizione dello stato dell'autorizzazione: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Tipo di autorizzazione |
Nome autorizzazione |
Entità a protezione diretta a cui si applica |
---|---|---|
ADBO |
ADMINISTER BULK OPERATIONS |
SERVER |
AL |
ALTER |
ENDPOINT, LOGIN |
ALCD |
ALTER ANY CREDENTIAL |
SERVER |
ALCO |
ALTER ANY CONNECTION |
SERVER |
ALDB |
ALTER ANY DATABASE |
SERVER |
ALES |
ALTER ANY EVENT NOTIFICATION |
SERVER |
ALHE |
ALTER ANY ENDPOINT |
SERVER |
ALLG |
ALTER ANY LOGIN |
SERVER |
ALLS |
ALTER ANY LINKED SERVER |
SERVER |
ALRS |
ALTER RESOURCES |
SERVER |
ALSS |
ALTER SERVER STATE |
SERVER |
ALST |
ALTER SETTINGS |
SERVER |
ALTR |
ALTER TRACE |
SERVER |
AUTH |
AUTHENTICATE SERVER |
SERVER |
CL |
CONTROL |
ENDPOINT, LOGIN |
CL |
CONTROL SERVER |
SERVER |
CO |
CONNECT |
ENDPOINT |
COSQ |
CONNECT SQL |
SERVER |
CRDB |
CREATE ANY DATABASE |
SERVER |
CRDE |
CREATE DDL EVENT NOTIFICATION |
SERVER |
CRHE |
CREATE ENDPOINT |
SERVER |
CRTE |
CREATE TRACE EVENT NOTIFICATION |
SERVER |
IM |
IMPERSONATE |
LOGIN |
SHDN |
SHUTDOWN |
SERVER |
TO |
TAKE OWNERSHIP |
ENDPOINT |
VW |
VIEW DEFINITION |
ENDPOINT, LOGIN |
VWAD |
VIEW ANY DEFINITION |
SERVER |
VWDB |
VIEW ANY DATABASE |
SERVER |
VWSS |
VIEW SERVER STATE |
SERVER |
XA |
EXTERNAL ACCESS |
SERVER |
Autorizzazioni
Qualsiasi utente può visualizzare le proprie autorizzazioni. Per visualizzare le autorizzazioni per altri account di accesso, è richiesta VIEW DEFINITION, ALTER ANY LOGIN o qualsiasi autorizzazione per un account di accesso. Per visualizzare i ruoli del server definiti dall'utente, è richiesta l'autorizzazione ALTER ANY SERVER ROLE o l'appartenenza al ruolo.
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.
Esempi
Nella query seguente vengono elencate le autorizzazioni concesse o negate in modo esplicito alle entità del server.
Importante
Le autorizzazioni dei ruoli predefiniti del server non sono incluse in sys.server_permissions.Pertanto, le entità del server potrebbero contenere ulteriori autorizzazioni non presenti in questo elenco.
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;
Vedere anche
Riferimento
Viste del catalogo relative alla sicurezza (Transact-SQL)
Viste del catalogo (Transact-SQL)