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)