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)