sys.server_principals (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Analytics Platform System (PDW)

Contient une ligne par principal au niveau serveur.

Remarque

Microsoft Entra ID était précédemment connu sous le nom d’Azure Active Directory (Azure AD).

Nom de la colonne Type de données Description
name sysname Nom du principal. Nom unique dans un serveur.
principal_id int Numéro d'identification du principal. Nom unique dans un serveur.
sid varbinary(85) Identificateur de sécurité (SID) du principal.
Le SID d’un principal Windows correspond à son SID Windows.
Le SID d’une identité utilisateur Microsoft Entra est la représentation binaire de son ID d’objet Microsoft Entra.
Le SID d’un groupe Microsoft Entra est la représentation binaire de son ID d’objet Microsoft Entra.
Le SID d’une application Microsoft Entra est la représentation binaire de son ID client Microsoft Entra.
type char(1) Type de principal :

S = Nom de connexion SQL
R = Rôle SQL Server

Disponible dans SQL Server, Azure SQL Managed Instance et PDW (en préversion dans Azure SQL Database) :
E = Connexion externe ou application à partir de l’ID Microsoft Entra
X = Groupe externe à partir de l’ID Microsoft Entra

Disponible dans SQL Server, Azure SQL Managed Instance et PDW (pas Azure SQL Database) :
U = Connexion Windows
G = groupe Windows
C = Connexion mappée sur un certificat
K = Connexion mappée sur une clé asymétrique
type_desc nvarchar(60) Description du type de principal :

SQL_LOGIN
SERVER_ROLE

Disponible dans SQL Server, Azure SQL Managed Instance et PDW (en préversion dans Azure SQL Database) :
EXTERNAL_LOGIN
EXTERNAL_GROUP

Disponible dans SQL Server, Azure SQL Managed Instance et PDW (pas Azure SQL Database) :
WINDOWS_LOGIN
WINDOWS_GROUP
CERTIFICATE_MAPPED_LOGIN
ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = Connexion désactivée.
0 = La connexion est activée.
create_date datetime Heure de création du principal.
modify_date datetime Heure de dernière modification de la définition du principal.
default_database_name sysname Base de données par défaut pour le principal.
default_language_name sysname Langue par défaut du principal.
credential_id int ID d’informations d’identification associées au principal. Si aucune information d’identification n’est associée à ce principal, credential_id a la valeur NULL.
owning_principal_id int Principal_id du propriétaire d’un rôle serveur. NULL, si le principal n'est pas un rôle serveur.
is_fixed_role bit Retourne 1 si le principal est l’un des rôles serveur intégrés avec des autorisations fixes. Pour plus d’informations, consultez Rôles de niveau serveur.

autorisations

Toute connexion peut voir son propre nom de connexion, les connexions système, et les rôles serveur fixes. L’affichage d’autres connexions nécessite ALTER ANY LOGIN ou une autorisation sur la connexion. L’affichage des rôles serveur définis par l’utilisateur nécessite ALTER ANY SERVER ROLE ou l’appartenance au rôle.

Dans Azure SQL Database, seuls les principaux suivants peuvent voir toutes les connexions :

  • membres du rôle serveur ##MS_LoginManager## ou du rôle de base de données spécial loginmanager dans master
  • l’administrateur Microsoft Entra et l’administrateur sql Server

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.

Exemples

La requête suivante répertorie les autorisations explicitement accordées ou refusées aux principaux de serveur.

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;  

Important

Les autorisations des rôles serveur fixes (autres que publics) n’apparaissent pas dans sys.server_permissions. Par conséquent, les principaux de serveur peuvent avoir des autorisations supplémentaires non répertoriées ici.

Affichages catalogue liées à la sécurité (Transact-SQL)
Affichages catalogue (Transact-SQL)
Principaux (moteur de base de données)
Hiérarchie des autorisations (moteur de base de données)