다음을 통해 공유


LOGINPROPERTY(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric의 SQL 데이터베이스

로그인 정책 설정에 대한 정보를 반환합니다.

Transact-SQL 구문 표기 규칙

구문

LOGINPROPERTY ( 'login_name' , 'property_name' )

인수

login_name

로그인 속성 상태가 반환될 SQL Server 로그인의 이름입니다.

propertyname

로그인에 대해 반환할 속성 정보를 포함하는 식입니다. propertyname은 다음 값 중 하나일 수 있습니다.

Description
BadPasswordCount 잘못된 암호를 사용하여 연속해서 로그인을 시도한 횟수를 반환합니다.
BadPasswordTime 잘못된 암호를 사용하여 마지막으로 로그인을 시도한 시간을 반환합니다.
DaysUntilExpiration 암호 만료일까지 남은 일 수를 반환합니다.
DefaultDatabase 메타데이터 master 에 저장되거나 데이터베이스가 지정되지 않은 경우 SQL Server 로그인 기본 데이터베이스를 반환합니다. SQL Server가 프로비전하지 않은 사용자(예: Windows 인증 사용자)의 경우 NULL을 반환합니다.
DefaultLanguage 메타데이터에 저장된 로그인 기본 언어를 반환합니다. Windows 인증 사용자와 같이 SQL Server가 프로비전하지 않은 사용자의 경우 NULL을 반환합니다.
HistoryLength 암호 정책 적용 메커니즘을 사용하여 로그인에 대해 추적된 암호의 수를 반환합니다. 암호 정책이 적용되지 않는 경우 0입니다. 암호 정책 적용은 1에서 시작됩니다.
IsExpired 로그인 암호가 만료되었는지 여부를 나타납니다.
IsLocked 로그인이 잠겼는지 여부를 나타납니다.
IsMustChange 로그인이 다음에 연결할 때 해당 암호를 변경해야 하는지 여부를 나타냅니다.
LockoutTime SQL Server 로그인이 허용되는 로그인 시도 실패 횟수를 초과하여 잠긴 날짜를 반환합니다.
PasswordHash 암호의 해시를 반환합니다.
PasswordLastSetTime 현재 암호가 설정된 날짜를 반환합니다.
PasswordHashAlgorithm 암호를 해시하는 데 사용되는 알고리즘을 반환합니다. SQL Server 2022(16.x) 및 이전 버전에서는 저장된 암호 정보가 솔트된 암호의 SHA-512를 사용하여 계산됩니다. SQL Server 2025(17.x)부터는 반복 해시 알고리즘인 RFC2898(PBKDF)가 사용되었습니다. 해시의 첫 바이트는 버전을 나타냅니다: 0x02 버전 2(SQL Server 2022 (16.x) 및 이전 버전)와 0x03 버전 3(SQL Server 2025 (17.x) 및 이후 버전)에 해당합니다.

반환

데이터 형식은 요청된 값에 따라 달라집니다.

IsLocked, IsExpiredIsMustChangeint 형식입니다.

  • 로그인이 지정된 상태에 있으면 1을 반환합니다.

  • 로그인이 지정된 상태가 아닌 경우 0입니다.

BadPasswordCountHistoryLengthint 형식입니다.

BadPasswordTime, LockoutTime, PasswordLastSetTimedatetime 형식입니다.

PasswordHashvarbinary 형식입니다.

로그인이 유효한 SQL Server 로그인이 아닌 경우 NULL입니다.

DaysUntilExpirationint 형식입니다.

  • 로그인이 만료되었거나 쿼리한 날에 만료되는 경우 0입니다.

  • Windows의 로컬 보안 정책으로 인해 암호가 만료되지 않는 경우 -1입니다.

  • 로그인에 대해 CHECK_POLICY 또는 CHECK_EXPIRATION OFF이거나 운영 체제에서 암호 정책을 지원하지 않는 경우 NULL입니다.

PasswordHashAlgorithm은 int 형식입니다.

  • 0 SQL7.0 해시일 경우

  • SHA-1 해시일 경우 1

  • 2 SHA-2 해시일 경우

  • 로그인이 유효한 SQL Server 로그인이 아닌 경우 NULL

설명

이 기본 제공 함수는 SQL Server 로그인의 암호 정책 설정에 대한 정보를 반환합니다. 속성의 이름은 대/소문자를 구분하지 않으므로 BadPasswordCountbadpasswordcount 와 같은 속성 이름은 동일합니다. PasswordHash, PasswordHashAlgorithmPasswordLastSetTime 속성 값은 SQL Server에서 지원하는 모든 구성에서 사용할 수 있지만 다른 속성은 SQL Server가 Windows Server 2003에서 실행 중이고 CHECK_POLICY 및 CHECK_EXPIRATION이 모두 설정된 경우에만 사용할 수 있습니다. 자세한 내용은 Password Policy을 참조하세요.

사용 권한

로그인에 대한 VIEW 권한이 필요합니다. 암호 해시를 요청하는 경우 CONTROL SERVER 권한도 필요합니다.

예제

A. 로그인이 해당 암호를 변경해야 하는지 여부 확인

다음 예에서는 SQL Server 로그인 John3이 다음에 SQL Server 인스턴스에 연결할 때 해당 암호를 변경해야 하는지 여부를 확인합니다.

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

B. 로그인이 잠겼는지 여부 확인

다음 예에서는 SQL Server 로그인 John3가 잠겼는지 여부를 확인합니다.

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