Freigeben über


LOGINPROPERTY (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-Datenbank in Microsoft Fabric

Gibt Informationen zu Richtlinieneinstellungen für die Anmeldung zurück.

Transact-SQL-Syntaxkonventionen

Syntax

LOGINPROPERTY ( 'login_name' , 'property_name' )

Argumente

login_name

Der Name einer SQL Server-Anmeldung, für die der Status der Anmeldeeigenschaft zurückgegeben wird.

propertyname

Ein Ausdruck, der die Eigenschafteninformationen enthält, die für die Anmeldung zurückgegeben werden sollen. Fürpropertyname sind die folgenden Werte möglich.

Wert BESCHREIBUNG
BadPasswordCount Gibt die Anzahl aufeinanderfolgender Anmeldeversuche mit einem falschen Kennwort zurück.
BadPasswordTime Gibt die Zeit des letzten Anmeldeversuchs mit einem falschen Kennwort zurück.
DaysUntilExpiration Gibt die Anzahl von Tagen zurück, bis das Kennwort abläuft.
DefaultDatabase Gibt die SQL Server-Anmeldestandarddatenbank wie in Metadaten gespeichert zurück oder master wenn keine Datenbank angegeben ist. Gibt für nicht in SQL Server bereitgestellte Benutzer (z. B. von Windows authentifizierte Benutzer) NULL zurück.
DefaultLanguage Gibt die bei der Anmeldung angegebene Standardsprache zurück, wie sie in den Metadaten gespeichert ist. Gibt für nicht in SQL Server bereitgestellte Benutzer (z. B. von Windows authentifizierte Benutzer) NULL zurück.
HistoryLength Gibt die Anzahl der Kennwörter zurück, die für die Anmeldung mithilfe der Mechanismen zur Durchsetzung von Kennwortrichtlinien nachverfolgt werden. 0, wenn die Kennwortrichtlinie nicht erzwungen wird. 1, wenn die Kennwortrichtlinie wieder erzwungen wird.
IsExpired Gibt an, ob das Kennwort zu der Anmeldung abgelaufen ist.
IsLocked Gibt an, ob die Anmeldung gesperrt ist.
IsMustChange Gibt an, ob das Kennwort der Anmeldung beim nächsten Herstellen einer Verbindung geändert werden muss.
LockoutTime Gibt das Datum zurück, an dem die SQL Server-Anmeldung gesperrt wurde, weil die zulässige Anzahl fehlgeschlagener Anmeldeversuche überschritten wurde.
PasswordHash Gibt den Hash des Kennworts zurück.
PasswordLastSetTime Gibt das Datum zurück, an dem das aktuelle Kennwort festgelegt wurde.
PasswordHashAlgorithm Gibt den Algorithmus zurück, der zum Erstellen eines Hashwerts für das Kennwort verwendet wird. In SQL Server 2022 (16.x) und früheren Versionen werden die gespeicherten Kennwortinformationen mithilfe von SHA-512 des gesalzenen Kennworts berechnet. Ab SQL Server 2025 (17.x) wird ein iterierter Hashalgorithmus verwendet, RFC2898 (PBKDF). Das erste Byte des Hashs gibt die Version an: 0x02 für Version 2 (SQL Server 2022 (16.x und frühere Versionen) und 0x03 für Version 3 (SQL Server 2025 (17.x) und spätere Versionen).

Gibt zurück

Der Datentyp hängt vom angeforderten Wert ab.

IsLocked, IsExpired und IsMustChange weisen den Typ int auf.

  • 1, wenn sich die Anmeldung im angegebenen Status befindet.

  • 0, wenn sich die Anmeldung nicht im angegebenen Zustand befindet.

BadPasswordCount and HistoryLength weisen den Typ int auf.

BadPasswordTime, LockoutTime und PasswordLastSetTime weisen den Typ datetime auf.

PasswordHash weist den Typ varbinary auf.

NULL, wenn die Anmeldung keine gültige SQL Server-Anmeldung ist.

DaysUntilExpiration weist den Typ int auf.

  • 0, wenn die Anmeldung abgelaufen ist oder an dem Tag abläuft, an dem die Abfrage ausgeführt wird.

  • -1, wenn das Kennwort gemäß der lokalen Sicherheitsrichtlinie in Windows nie abläuft.

  • NULL, wenn das CHECK_POLICY oder CHECK_EXPIRATION für eine Anmeldung deaktiviert ist oder wenn das Betriebssystem die Kennwortrichtlinie nicht unterstützt.

PasswordHashAlgorithm weist den Typ „int“ auf.

  • 0, wenn ein SQL7.0-Hash verwendet wird.

  • 1, wenn ein SHA-1-Hash verwendet wird.

  • 2, wenn ein SHA-2-Hash verwendet wird.

  • NULL, wenn die Anmeldung keine gültige SQL Server-Anmeldung ist

Hinweise

Diese integrierte Funktion gibt Informationen zu den Kennwortrichtlinieneinstellungen einer SQL Server-Anmeldung zurück. Bei den Namen der Eigenschaften wird die Groß-/Kleinschreibung nicht beachtet, sodass Eigenschaftsnamen wie BadPasswordCount und badpasswordcount gleichwertig sind. Die Werte der Eigenschaften PasswordHash, PasswordHashAlgorithm und PasswordLastSetTime sind in allen unterstützten Konfigurationen von SQL Server verfügbar, die anderen Eigenschaften jedoch nur, wenn SQL Server unter Windows Server 2003 ausgeführt wird und CHECK_POLICY und CHECK_EXPIRATION aktiviert sind. Weitere Informationen finden Sie unter Password Policy.

Berechtigungen

Erfordert die VIEW-Berechtigung für die Anmeldung. Wenn der Kennworthash angefordert wird, ist auch die CONTROL SERVER-Berechtigung erforderlich.

Beispiele

A. Überprüfen, ob das Kennwort einer Anmeldung geändert werden muss

Im folgenden Beispiel wird überprüft, ob das Kennwort der SQL Server-Anmeldung von John3 geändert werden muss, wenn das nächste Mal unter diesem Anmeldenamen eine Verbindung mit einer Instanz von SQL Server hergestellt wird.

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

B. Überprüfen, ob eine Anmeldung gesperrt ist

Im folgenden Beispiel wird überprüft, ob die SQL Server-Anmeldung John3 gesperrt ist.

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