LOGINPROPERTY (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Retorna informações sobre configurações de política de logon.
Convenções de sintaxe de Transact-SQL
Sintaxe
LOGINPROPERTY ( 'login_name' , 'property_name' )
Argumentos
login_name
É o nome de um logon do SQL Server para o qual o status da propriedade de logon será retornado.
propertyname
É uma expressão que contém as informações de propriedade a serem retornadas para o logon. propertyname pode ser um dos valores a seguir.
Valor | Descrição |
---|---|
BadPasswordCount | Retorna o número de tentativas consecutivas de fazer logon com uma senha incorreta. |
BadPasswordTime | Retorna a hora da última tentativa de fazer logon com uma senha incorreta. |
DaysUntilExpiration | Retorna o número de dias para que a senha expire. |
DefaultDatabase | Retorna o banco de dados padrão de logon do SQL Server como armazenado em metadados ou master, caso nenhum banco de dados seja especificado. Retorna NULL para usuários não provisionados pelo SQL Server (por exemplo, usuários autenticados do Windows). |
DefaultLanguage | Retorna a linguagem padrão de logon como armazenado em metadados. Retorna NULL para usuários não provisionados pelo SQL Server, por exemplo, usuários autenticados do Windows. |
HistoryLength | Retorna o número de senhas rastreadas para o logon usando o mecanismo de imposição de política de senha. 0, se a política de senha não for imposta. Ao retomar a imposição da política de senha, ela é reiniciada em 1. |
IsExpired | Indica se a senha do logon expirou. |
IsLocked | Indica se o logon está bloqueado. |
IsMustChange | Indica se o logon deve alterar sua senha na próxima conexão. |
LockoutTime | Retorna a data em que o logon no SQL Server foi bloqueado porque excedeu o número permitido de tentativas de logon com falha. |
PasswordHash | Retorna o hash da senha. |
PasswordLastSetTime | Retorna a data em que a senha atual foi definida. |
PasswordHashAlgorithm | Retorna o algoritmo usado para o hash da senha. |
Retornos
O tipo de dado depende do valor solicitado.
IsLocked, IsExpired e IsMustChange são do tipo int.
1 se o logon estiver no estado especificado.
0 se o logon não estiver no estado especificado.
BadPasswordCount e HistoryLength são do tipo int.
BadPasswordTime, LockoutTime, PasswordLastSetTime são do tipo datetime.
PasswordHash é do tipo varbinary.
NULL se o logon não for um logon válido do SQL Server.
DaysUntilExpiration é do tipo int.
0 se o logon estiver expirado ou se for expira no dia da consulta.
-1 se a política de segurança local no Windows nunca expirar a senha.
NULL, se CHECK_POLICY ou CHECK_EXPIRATION forem OFF para um logon ou se o sistema operacional não oferecer suporte à política de senha.
PasswordHashAlgorithm é do tipo int.
0, se for um hash SQL7.0
1 se for um hash SHA-1
2, se for um hash SHA-2
NULL se o logon não for um logon válido do SQL Server
Comentários
Essa função interna retorna informações sobre as configurações de política de senha de um logon do SQL Server. Os nomes das propriedades não diferenciam maiúsculas e minúsculas; assim, nomes de propriedades como BadPasswordCount e badpasswordcount são equivalentes. Os valores das propriedades PasswordHash, PasswordHashAlgorithm e PasswordLastSetTime estão disponíveis em todas as configurações compatíveis do SQL Server, mas as outras propriedades estarão disponíveis apenas se o SQL Server for executado no Windows Server 2003 e tanto CHECK_POLICY como CHECK_EXPIRATION estiverem habilitadas. Para obter mais informações, consulte Password Policy.
Permissões
Requer permissão VIEW para o logon. Ao solicitar o hash de senha, também requer a permissão CONTROL SERVER.
Exemplos
a. Verificando se um logon deve alterar sua senha
O exemplo a seguir verifica se o logon do SQL Server John3
deve alterar sua senha na próxima vez que se conectar a uma instância do SQL Server.
SELECT LOGINPROPERTY('John3', 'IsMustChange');
GO
B. Verificando se um logon está bloqueado
O exemplo a seguir verifica se o logon do SQL Server John3
está bloqueado.
SELECT LOGINPROPERTY('John3', 'IsLocked');
GO
Consulte Também
CREATE LOGIN (Transact-SQL)
sys.server_principals (Transact-SQL)