sys.server_principals (Transact-SQL)

Si applica a:SQL Server database SQL di Azure e Istanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

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

Nota

Microsoft Entra ID era precedentemente noto 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à. 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 Microsoft Entra ID

X = Gruppo esterno da applicazioni o gruppi Microsoft Entra

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 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. 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.

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 un utente è proprietario o a cui l'utente ha concesso alcune 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.

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.

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;  

Nota

Le autorizzazioni dei ruoli predefiniti del server non sono incluse in sys.server_permissions.

Vedi anche

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