Поделиться через


LOGINPROPERTY (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

LOGINPROPERTY ( 'login_name' , 'property_name' )

Аргументы

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

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

    Значение

    Описание

    BadPasswordCount

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

    BadPasswordTime

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

    DaysUntilExpiration

    Возвращает число дней до завершения срока действия пароля.

    DefaultDatabase

    Возвращает базу данных по умолчанию для имени входа SQL Server в соответствии со сведениями, сохраненными в метаданных или в базе данных master, если база данных не указана. Возвращает значение NULL для пользователей, подготовленных не в SQL Server, например для пользователей, проходящих проверку подлинности Windows.

    DefaultLanguage

    Возвращает язык имени входа по умолчанию в соответствии со сведениями, сохраненными в метаданных. Возвращает значение NULL для пользователей, прошедших проверку не в SQL Server, например для пользователей, прошедших проверку подлинности Windows.

    HistoryLength

    Возвращает количество паролей, отслеженных для имени входа механизмом принудительного применения политики паролей. Значение 0 указывает, что политика паролей не применяется. Начиная со значения 1, принудительное применение политики паролей восстанавливается.

    IsExpired

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

    IsLocked

    Возвращает сведения, указывающие, заблокировано ли имя входа.

    IsMustChange

    Возвращает сведения, указывающие, необходимо ли менять пароль для имени входа при следующем его подключении.

    LockoutTime

    Возвращает дату блокировки имени входа SQL Server из-за превышения разрешенного числа неудачных попыток входа в систему.

    PasswordHash

    Возвращает хэш пароля.

    PasswordLastSetTime

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

Возврат

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

Аргументы 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 для имени входа либо если операционная система не поддерживает политику паролей.

Замечания

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

Разрешения

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

Примеры

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

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

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

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

В следующем примере выполняется проверка блокировки имени входа SQL Server John3.

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