sys.server_principals (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics 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) SID (Security-IDentifier) du principal. S'il s'agit d'un principal Windows, correspond au SID Windows.
type char(1) Type de principal :

S = Nom de connexion SQL

U = Connexion Windows

G = groupe Windows

R = Rôle SQL Server

C = Connexion mappée sur un certificat

E = Connexion externe à partir de l’ID Microsoft Entra

X = Groupe externe à partir du groupe Ou des applications Microsoft Entra

K = Connexion mappée sur une clé asymétrique
type_desc nvarchar(60) Description du type de principal :

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

EXTERNAL_LOGIN

EXTERNAL_GROUP

ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = Connexion désactivé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 de ce principal.
default_language_name sysname Langue par défaut de ce principal.
credential_id int ID d'une information d'identification associée à ce 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. Pour voir d'autres connexions, vous devez disposer de l'autorisation ALTER ANY LOGIN, ou d'une autorisation sur la connexion. Pour afficher les rôles serveur définis par l'utilisateur, vous devez disposer de l'autorisation ALTER ANY SERVER ROLE, ou appartenir 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 possède ou sur lesquels l’utilisateur a reçu une autorisation. 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.

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.

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;  

Remarque

Les autorisations des rôles serveur fixes n'apparaissent pas dans sys.server_permissions.

Voir aussi

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)