Condividi tramite


sys.server_principals (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Analytics Platform System (PDW)

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

Nota

Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).

Nome colonna Tipo di dati Descrizione
name 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à.
Il SID di un'entità di Windows corrisponde al SID di Windows.
Il SID di un'identità utente di Microsoft Entra è la rappresentazione binaria del relativo ID oggetto Microsoft Entra.
Il SID di un gruppo Microsoft Entra è la rappresentazione binaria del relativo ID oggetto Microsoft Entra.
Il SID di un'applicazione Microsoft Entra è la rappresentazione binaria dell'ID client Microsoft Entra.
type char(1) Tipo di entità:

S = Account di accesso di SQL
R = Ruolo del server

Disponibile in SQL Server, Istanza gestita di SQL di Azure e PDW (in anteprima in database SQL di Azure):
E = Account di accesso esterno o applicazione da Microsoft Entra ID
X = Gruppo esterno da Microsoft Entra ID

Disponibile in SQL Server, Istanza gestita di SQL di Azure e PDW (non database SQL di Azure):
U = Account di accesso di Windows
G = Gruppo di Windows
C = Account di accesso sul quale è stato eseguito il mapping a un certificato
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
SERVER_ROLE

Disponibile in SQL Server, Istanza gestita di SQL di Azure e PDW (in anteprima in database SQL di Azure):
EXTERNAL_LOGIN
EXTERNAL_GROUP

Disponibile in SQL Server, Istanza gestita di SQL di Azure e PDW (non database SQL di Azure):
WINDOWS_LOGIN
WINDOWS_GROUP
CERTIFICATE_MAPPED_LOGIN
ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = L'account di accesso è disabilitato.
0 = L'account di accesso è abilitato.
create_date datetime Ora di creazione dell'entità.
modify_date datetime Ora dell'ultima modifica della definizione dell'entità.
default_database_name sysname Database predefinito per l'entità.
default_language_name sysname Lingua predefinita per l'entità.
credential_id int ID di credenziali associate all'entità. Se a questa entità non è associata alcuna credenziale, credential_id è NULL.
owning_principal_id int Il 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. La visualizzazione di altri account di accesso richiede ALTER ANY LOGIN o un'autorizzazione per l'account di accesso. La visualizzazione dei ruoli del server definiti dall'utente richiede ALTER ANY SERVER ROLE o l'appartenenza al ruolo.

In database SQL di Azure solo le entità di sicurezza seguenti possono visualizzare tutti gli account di accesso:

  • membri del ruolo del server ##MS_LoginManager## o account di accesso del ruolo del database speciale inmaster
  • Amministratore di Microsoft Entra e amministratore di SQL Server

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.

Esempi

Nella query seguente vengono elencate le autorizzazioni concesse o negate in modo esplicito alle entità del server.

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;  

Importante

Le autorizzazioni dei ruoli predefiniti del server (diverso da pubblico) non vengono visualizzate in sys.server_permissions. Pertanto, le entità del server potrebbero contenere ulteriori autorizzazioni non presenti in questo elenco.

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