Partage via


LOGINPROPERTY (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsBase de données SQL dans Microsoft Fabric

Retourne des informations sur les paramètres de stratégie de connexion.

Conventions de la syntaxe Transact-SQL

Syntaxe

LOGINPROPERTY ( 'login_name' , 'property_name' )

Arguments

login_name

Nom d’une connexion SQL Server pour laquelle l’état de la propriété de connexion est retourné.

propertyname

Expression qui contient les informations de propriété à renvoyer pour la connexion. propertyname peut avoir l’une des valeurs suivantes.

Value Description
BadPasswordCount Retourne le nombre de tentatives de connexion consécutives effectuées avec un mot de passe incorrect.
BadPasswordTime Retourne l'heure de la dernière tentative de connexion effectuée avec un mot de passe incorrect.
DaysUntilExpiration Retourne le nombre de jours avant l'expiration du mot de passe.
DefaultDatabase Retourne la base de données par défaut de connexion SQL Server telle qu’elle est stockée dans les métadonnées ou master si aucune base de données n’est spécifiée. Retourne NULL pour les utilisateurs fournis non-SQL Server (par exemple les utilisateurs authentifiés Windows).
DefaultLanguage Retourne la langue par défaut de connexion telle que stockée dans les métadonnées. Retourne NULL pour les utilisateurs fournis non-SQL Server, par exemple les utilisateurs authentifiés Windows.
HistoryLength Retourne le nombre de mots de passe faisant l'objet d'un suivi pour le compte de connexion à l'aide du mécanisme d'application des stratégies de mot de passe. 0 si la stratégie de mot de passe n’est pas appliquée. La reprise de l'application de la stratégie du mot de passe redémarre à 1.
IsExpired Indique si le mot de passe du compte de connexion a expiré.
IsLocked Indique si le compte de connexion est verrouillé.
IsMustChange Indique si le compte de connexion doit modifier son mot de passe lors de la prochaine connexion.
LockoutTime Retourne la date à laquelle la connexion SQL Server a été verrouillée en raison du dépassement du nombre de tentatives de connexion autorisé.
PasswordHash Retourne le hachage du mot de passe.
PasswordLastSetTime Retourne la date à laquelle le mot de passe actuel a été défini.
PasswordHashAlgorithm Retourne l'algorithme utilisé pour hacher le mot de passe. Dans SQL Server 2022 (16.x) et les versions antérieures, les informations de mot de passe stockées sont calculées à l’aide de SHA-512 du mot de passe salé. À partir de SQL Server 2025 (17.x), un algorithme de hachage itéré, RFC2898 (PBKDF) est utilisé. Le premier octet du hachage indique la version : 0x02 pour la version 2 (SQL Server 2022 (16.x) et versions antérieures) et 0x03 pour la version 3 (SQL Server 2025 (17.x) et versions ultérieures).

Retours

Le type de données dépend de la valeur demandée.

IsLocked, IsExpired et IsMustChange sont de type int.

  • 1 si la connexion est dotée de l'état spécifié.

  • 0 si la connexion n’est pas dans l’état spécifié.

BadPasswordCount et HistoryLength sont de type int.

BadPasswordTime, LockoutTime, PasswordLastSetTime sont de type datetime.

PasswordHash est de type varbinary.

NULL si la connexion n’est pas une connexion SQL Server valide.

DaysUntilExpiration est de type int.

  • 0 si la connexion a expiré ou si elle expirera le jour de l'interrogation.

  • -1 si la stratégie de sécurité locale dans Windows ne fait jamais expirer le mot de passe.

  • NULL si le CHECK_POLICY ou CHECK_EXPIRATION est DÉSACTIVÉ pour une connexion, ou si le système d’exploitation ne prend pas en charge la stratégie de mot de passe.

PasswordHashAlgorithm est de type int.

  • 0 pour un hachage SQL7.0

  • 1 pour un hachage SHA-1

  • 2 pour un hachage SHA-2

  • NULL si la connexion n’est pas une connexion SQL Server valide

Notes

Cette fonction intégrée retourne des informations sur les paramètres de stratégie de mot de passe d'une connexion SQL Server. Les noms des propriétés ne respectent pas la casse. Par conséquent, les noms de propriétés tels que BadPasswordCount et badpasswordcount sont équivalents. Les valeurs des propriétés PasswordHash, PasswordHashAlgorithm et PasswordLastSetTime sont disponibles sur toutes les configurations de SQL Server prises en charge, mais les autres propriétés ne sont disponibles que si SQL Server est en cours d’exécution sous Windows Server 2003 et que CHECK_POLICY et CHECK_EXPIRATION sont tous les deux activés. Pour plus d'informations, consultez Password Policy.

Autorisations

Requiert l'autorisation VIEW sur la connexion. Pour la demande du hachage de mot de passe, requiert en outre l'autorisation CONTROL SERVER.

Exemples

R. Détermination de la nécessité de modifier le mot de passe d'un compte de connexion

L’exemple suivant vérifie si la connexion SQL Server John3 doit changer son mot de passe la prochaine fois qu’elle se connecte à une instance de SQL Server.

SELECT LOGINPROPERTY('John3', 'IsMustChange');
GO

B. Vérification du verrouillage d'une connexion

L'exemple suivant vérifie si la connexion SQL Server John3 est verrouillée.

SELECT LOGINPROPERTY('John3', 'IsLocked');
GO