sys.server_principals (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) SìIstanza gestita di SQL di Azure sìParallel Data Warehouse

Contiene una riga per ogni entità a livello di server.

Nome colonna Tipo di dati Descrizione
nome sysname Nome dell'entità. Univoco all'interno di un server.
principal_id int ID dell'entità. Univoco all'interno di un server.
SID varbinary(85) ID di sicurezza (SID) dell'entità. Per le entità di Windows, corrisponde al SID di Windows.
type char(1) Tipo di entità:

S = Account di accesso di SQL

U = Account di accesso di Windows

G = Gruppo di Windows

R = Ruolo del server

C = Account di accesso sul quale è stato eseguito il mapping a un certificato

E = accesso esterno da Azure Active Directory

X = gruppo esterno da Azure Active Directory gruppo o applicazioni

K = Account di accesso sul quale è stato eseguito il mapping a una chiave asimmetrica
type_desc nvarchar(60) Descrizione del tipo di entità:

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

EXTERNAL_LOGIN

EXTERNAL_GROUP

ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = L'account di accesso è disabilitato.
create_date datetime Ora di creazione dell'entità.
modify_date datetime Ora dell'ultima modifica della definizione dell'entità.
default_database_name sysname Database principale per l'entità.
default_language_name sysname Lingua predefinita per l'entità.
credential_id int ID di una credenziale associata all'entità. Se all'entità non è associata alcuna credenziale, credential_id è NULL.
owning_principal_id int Principal_id del proprietario di un ruolo del server. NULL se l'entità non è un ruolo del server.
is_fixed_role bit Restituisce 1 se l'entità è uno dei ruoli predefiniti del server con autorizzazioni fisse. Per altre informazioni, vedere Ruoli a livello di server.

Autorizzazioni

Qualsiasi account di accesso consente di visualizzare il proprio nome dell'account di accesso, gli account di accesso di sistema e i ruoli predefiniti del server. Per visualizzare altri account di accesso, è richiesta l'autorizzazione ALTER ANY LOGIN o un'autorizzazione per l'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 altre informazioni, vedere Metadata Visibility Configuration.

Esempio

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 (diverse da Public) non vengono visualizzate 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

Viste del catalogo relative alla sicurezza (Transact-SQL)
Viste del catalogo (Transact-SQL)
Entità (motore di database)
Gerarchia delle autorizzazioni (motore di database)