Бөлісу құралы:


LOGINPROPERTY (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Возвращает сведения о настройках политики входа в систему.

Соглашения о синтаксисе Transact-SQL

Синтаксис

LOGINPROPERTY ( 'login_name' , 'property_name' )  

Аргументы

login_name
Учетные данные SQL Server, для которых будет возвращено состояние свойства входа в систему.

propertyname
Выражение, содержащее сведения о свойстве, возвращаемые для имени входа. propertyname может иметь одно из указанных ниже значений.

значение Описание
BadPasswordCount Возвращает число последовательных попыток входа в систему с неверным паролем.
BadPasswordTime Возвращает время последней попытки входа в систему с неверным паролем.
DaysUntilExpiration Возвращает число дней до завершения срока действия пароля.
DefaultDatabase Возвращает базу данных по умолчанию для учетных данных SQL Server в соответствии со сведениями, сохраненными в метаданных. Если база данных здесь не указана, возвращает базу данных master. Возвращает значение NULL для пользователей, которые поддерживаются внешними системами (например, прошедших проверку подлинности Windows).
DefaultLanguage Возвращает язык имени входа по умолчанию в соответствии со сведениями, сохраненными в метаданных. Возвращает значение NULL для пользователей, которые поддерживаются внешними системами (например, прошедших проверку подлинности Windows).
HistoryLength Возвращает количество паролей, найденных для имени входа с помощью механизма принудительного применения политики паролей. Возвращает 0, если политика паролей не применяется принудительно. При значении 1 перезапускается возобновление принудительного применения политики паролей.
IsExpired Указывает, истек ли срок действия пароля для входа.
IsLocked Указывает, заблокировано ли имя входа.
IsMustChange Указывает, необходимо ли менять пароль для имени входа при следующем его подключении.
LockoutTime Возвращает дату блокировки учетных данных SQL Server, связанной с превышением допустимого числа неудачных попыток входа в систему.
PasswordHash Возвращает хэш пароля.
PasswordLastSetTime Возвращает дату установки текущего пароля.
PasswordHashAlgorithm Возвращает алгоритм, используемый для хэширования пароля.

Возвраты

Тип данных зависит от запрошенного значения.

Аргументы IsLocked, IsExpired и IsMustChange имеют тип int.

  • 1, если имя входа находится в указанном состоянии.

  • 0, если имя входа не находится в указанном состоянии.

Аргументы BadPasswordCount и HistoryLength имеют тип int.

Аргументы BadPasswordTime, LockoutTime, PasswordLastSetTime имеют тип datetime.

Аргумент PasswordHash имеет тип varbinary.

Значение NULL, если имя для входа не относится к допустимым учетным данным SQL Server.

Аргумент DaysUntilExpiration имеет тип int.

  • 0, если срок действия имени входа истек или истечет в день запроса.

  • -1, если срок действия пароля не ограничен в соответствии с локальной политикой безопасности Windows.

  • NULL, если параметр CHECK_POLICY или CHECK_EXPIRATION имеет значение OFF для имени входа либо если операционная система не поддерживает политику паролей.

Аргумент PasswordHashAlgorithm имеет тип int.

  • 0, если это хэш SQL7.0

  • 1, если это хэш SHA-1

  • 2, если хэширование по SHA-2

  • NULL, если имя входа не является допустимым именем входа SQL Server.

Замечания

Эта встроенная функция возвращает сведения о настройках политики паролей для учетных данных SQL Server. В именах свойств регистр не учитывается, поэтому имена BadPasswordCount и badpasswordcount эквивалентны. Значения свойств PasswordHash, PasswordHashAlgorithm и PasswordLastSetTime доступны во всех поддерживаемых конфигурациях SQL Server, но другие свойства доступны только в том случае, если SQL Server работает под управлением Windows Server 2003 и для него включены оба параметра CHECK_POLICY и CHECK_EXPIRATION. Дополнительные сведения см. в разделе Политика паролей.

Разрешения

Требует разрешения VIEW на имя входа. При запросе хэша пароля также требует разрешения CONTROL SERVER.

Примеры

А. Проверка необходимости изменения пароля для имени входа

Приведенный ниже пример выполняет проверку необходимости изменить пароль для учетных данных SQL Server John3 при следующем подключении к экземпляру SQL Server.

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

B. Проверка блокировки имени входа

Следующий пример выполняет проверку того, заблокированы ли учетные данные SQL Server John3.

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

См. также

CREATE LOGIN (Transact-SQL)
sys.server_principals (Transact-SQL)