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