Partager via


sp_helpuser (Transact-SQL)

S'applique à : SQL Server

Signale des informations sur les principaux de niveau base de données dans la base de données en cours.

Important

sp_helpuser ne retourne pas d’informations sur les éléments sécurisables introduits dans SQL Server 2005 (9.x) et les versions ultérieures. Utilisez sys.database_principals à la place.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]

Arguments

[ @name_in_db = ] N’name_in_db'

Nom de l’utilisateur de base de données ou du rôle de base de données dans la base de données active. @name_in_db est sysname, avec la valeur par défaut NULL. @name_in_db doit exister dans la base de données active. Si @name_in_db n’est pas spécifié, sp_helpuser retourne des informations sur tous les principaux de base de données.

Valeurs des codes de retour

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

Jeu de résultats

Le tableau suivant montre le jeu de résultats lorsqu’aucun compte d’utilisateur, SQL Server ou utilisateur Windows n’est spécifié pour @name_in_db.

Nom de la colonne Type de données Description
UserName sysname Utilisateurs dans la base de données en cours.
RoleName sysname Rôles auxquels UserName appartient.
LoginName sysname Connexion de UserName.
DefDBName sysname Base de données par défaut de UserName.
DefSchemaName sysname Schéma par défaut de l'utilisateur de la base de données.
UserID smallint ID de la base de UserName données active.
SID smallint Numéro d'identification de sécurité (SID) de l'utilisateur.

Le tableau ci-dessous indique l'ensemble de résultats obtenu, lorsqu'aucun compte d'utilisateur n'est spécifié et que des alias existent dans la base de données en cours.

Nom de la colonne Type de données Description
LoginName sysname Connexions affectées comme alias aux utilisateurs de la base de données en cours.
UserNameAliasedTo sysname Nom d'utilisateur dans la base de données en cours dont la connexion est affectée comme alias.

Le tableau suivant montre le jeu de résultats lorsqu’un rôle est spécifié pour @name_in_db.

Nom de la colonne Type de données Description
Role_name sysname Nom du rôle dans la base de données en cours.
Role_id smallint ID du rôle dans la base de données en cours.
Users_in_role sysname Membre du rôle dans la base de données en cours.
Userid smallint ID d'utilisateur du membre du rôle.

Notes

Pour afficher des informations sur l’appartenance aux rôles de base de données, utilisez sys.database_role_members. Pour afficher des informations sur les membres du rôle serveur, utilisez sys.server_role_members et pour afficher des informations sur les principaux au niveau du serveur, utilisez sys.server_principals.

autorisations

Nécessite l'appartenance au rôle public .

Les informations retournées sont sujettes à des restrictions d'accès aux métadonnées. Les entités sur lesquelles le principal n’a pas d’autorisation n’apparaissent pas. Pour plus d'informations, consultez Metadata Visibility Configuration.

Exemples

R. Lister tous les utilisateurs

L'exemple ci-dessous répertorie tous les utilisateurs dans la base de données en cours.

EXEC sp_helpuser;

B. Répertorier les informations d’un seul utilisateur

Dans l'exemple ci-dessous, des informations sont répertoriées sur le propriétaire de la base de données utilisateur (dbo).

EXEC sp_helpuser 'dbo';

C. Répertorier les informations d’un rôle de base de données

L’exemple suivant répertorie des informations sur le rôle de base de données fixe db_securityadmin .

EXEC sp_helpuser 'db_securityadmin';