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 in
master
- 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.
Contenuto correlato
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)