xp_logininfo (Transact-SQL)

S’applique à :SQL Server

Retourne des informations sur les utilisateurs Windows et les groupes Windows.

Conventions de la syntaxe Transact-SQL

Syntaxe

xp_logininfo [ [ @acctname = ] 'account_name' ]
     [ , [ @option = ] 'all' | 'members' ]
     [ , [ @privilege = ] 'variable_name' OUTPUT ]

Arguments

[ @acctname = ] '@acctname'

Nom d’un utilisateur ou d’un groupe Windows autorisé à accéder à SQL Server. @acctname est sysname, avec la valeur par défaut NULL. Si @acctname n’est pas spécifié, tous les groupes Windows et utilisateurs Windows qui ont été explicitement autorisés à se connecter sont signalés. @acctname doit être qualifié complet. Par exemple, CONTOSO\macraes ou BUILTIN\Administrators.

[ @option = ] 'all' | 'members' ]

Spécifie s'il faut rapporter les informations sur tous les chemins d'autorisation du compte ou sur les membres du groupe Windows. @option est varchar(10), avec la valeur par défaut NULL. Sauf indication all contraire, seul le premier chemin d’accès d’autorisation s’affiche.

[ @privilege = ] SORTIE 'variable_name' ]

Paramètre de sortie qui retourne le niveau de privilège du compte Windows spécifié. @privilege est varchar(10), avec la valeur par défaut Not wanted. Le niveau de privilège retourné est utilisateur, administrateur ou null.

Quand OUTPUT elle est spécifiée, cette option place @privilege dans le paramètre de sortie.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Nom de la colonne Type de données Description
nom du compte sysname Nom de compte Windows complet.
type char(8) Type de compte Windows. Les valeurs valides sont user ou group.
Privilège char(9) Privilèges d’accès pour SQL Server. Les valeurs valides sont admin, user ou NULL.
nom de connexion mappé sysname Pour les comptes d’utilisateur disposant de privilèges utilisateur, le nom de connexion mappé affiche le nom de connexion mappé que SQL Server tente d’utiliser lors de la connexion avec ce compte à l’aide des règles mappées avec le nom de domaine ajouté avant celui-ci.
chemin d’accès d’autorisation sysname Membre du groupe qui autorise l'accès au compte

Notes

Si @acctname est spécifié, xp_logininfo signale le niveau de privilège le plus élevé de l’utilisateur ou du groupe Windows spécifié. Si un utilisateur Windows a accès à la fois en tant qu’administrateur système et en tant qu’utilisateur de domaine, il est signalé en tant qu’administrateur système. Si l’utilisateur est membre de plusieurs groupes Windows de niveau de privilège égal, seul le groupe qui a d’abord accordé l’accès à SQL Server est signalé.

Si @acctname est un utilisateur ou un groupe Windows valide qui n’est pas associé à une connexion SQL Server, un jeu de résultats vide est retourné. Si @acctname ne peut pas être identifié comme un utilisateur ou un groupe Windows valide, un message d’erreur est retourné.

Si @acctname et all sont spécifiés, tous les chemins d’accès d’autorisation pour l’utilisateur ou le groupe Windows sont retournés. Si @acctname est membre de plusieurs groupes, qui ont tous reçu l’accès à SQL Server, plusieurs lignes sont retournées. Les admin lignes de privilège sont retournées avant les user lignes de privilège et, dans un niveau de privilège, les lignes sont retournées dans l’ordre dans lequel les connexions SQL Server correspondantes ont été créées.

Si @acctname et members sont spécifiés, une liste des membres de niveau suivant du groupe est retournée. Si @acctname est un groupe local, la liste peut inclure des utilisateurs locaux, des utilisateurs de domaine et des groupes. Si @acctname est un compte de domaine, la liste est composée d’utilisateurs de domaine. SQL Server doit se connecter au contrôleur de domaine pour récupérer les informations d’appartenance au groupe. Si le serveur ne peut pas contacter le contrôleur de domaine, aucune information n’est retournée.

xp_logininfo retourne uniquement les informations des groupes globaux Active Directory, et non des groupes universels.

Autorisations

Nécessite l’appartenance au rôle serveur fixe sysadmin ou l’appartenance au rôle de base de données fixe public dans la master base de données avec l’autorisation EXECUTE accordée.

Exemples

L’exemple suivant affiche des informations sur le BUILTIN\Administrators groupe Windows.

EXEC xp_logininfo 'BUILTIN\Administrators';