Partilhar via


LOGINPROPERTY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do AzureBanco de Dados SQL do Azure Synapse Analyticsno Microsoft Fabric

Retorna informações sobre as configurações de política de login.

Transact-SQL convenções de sintaxe

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 login. PropertyName pode ser um dos seguintes valores.

Valor Descrição
BadPasswordCount Devolve o número de tentativas consecutivas de iniciar sessão com uma palavra-passe incorreta.
BadPasswordTime Devolve a hora da última tentativa de iniciar sessão com uma palavra-passe incorreta.
DiasAtéExpiração Retorna o número de dias até que a senha expire.
DefaultDatabase Retorna o banco de dados padrão de logon do SQL Server como armazenado em metadados ou master se nenhum banco de dados for especificado. Retorna NULL para usuários provisionados que não são do SQL Server (por exemplo, usuários autenticados do Windows).
DefaultLanguage Retorna o idioma padrão de login conforme armazenado nos metadados. Retorna NULL para usuários provisionados que não são do SQL Server, por exemplo, usuários autenticados do Windows.
HistóriaComprimento Retorna o número de senhas rastreadas para o login, usando o mecanismo de imposição de política de senha. 0 se a política de senha não for imposta. Retomar a imposição da política de senha é reiniciado em 1.
IsExpired Indica se a senha de login expirou.
IsLocked Indica se o login está bloqueado.
IsMustChange Indica se o login deve alterar sua senha na próxima vez que se conectar.
LockoutTime Retorna a data em que o logon do SQL Server foi bloqueado porque excedeu o número permitido de tentativas de logon com falha.
SenhaHash Retorna o hash da senha.
PasswordLastSetTime Retorna a data em que a senha atual foi definida.
PasswordHashAlgorithm Retorna o algoritmo usado para hash da senha. No SQL Server 2022 (16.x) e versões anteriores, as informações de senha armazenadas são calculadas usando SHA-512 da senha salgada. A partir do SQL Server 2025 (17.x), é utilizado um algoritmo de hash iterado, RFC2898 (PBKDF). O primeiro byte do hash indica a versão: 0x02 para a versão 2 (SQL Server 2022 (16.x) e versões anteriores) e 0x03 para a versão 3 (SQL Server 2025 (17.x) e versões posteriores).

Devoluções

O tipo de dados depende do valor solicitado.

IsLocked, IsExpired e IsMustChange são do tipo int.

  • 1 se o login estiver no estado especificado.

  • 0 se o login 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 login expirou ou se expirará no dia em que foi consultado.

  • -1 se a política de segurança local no Windows nunca expirar a palavra-passe.

  • NULL se o CHECK_POLICY ou CHECK_EXPIRATION estiver DESATIVADO para um início de sessão ou se o sistema operativo não suportar a política de palavra-passe.

PasswordHashAlgorithm é do tipo int.

  • 0 se um hash SQL7.0

  • 1 se um hash SHA-1

  • 2 se um hash SHA-2

  • NULL se o logon não for um logon válido do SQL Server

Observações

Essa função interna retorna informações sobre as configurações de diretiva de senha de um logon do SQL Server. Os nomes das propriedades não diferenciam maiúsculas de minúsculas, portanto, nomes de propriedade como BadPasswordCount e badpasswordcount são equivalentes. Os valores das propriedades PasswordHash, PasswordHashAlgorithm e PasswordLastSetTime estão disponíveis em todas as configurações com suporte do SQL Server, mas as outras propriedades só estão disponíveis quando o SQL Server está sendo executado no Windows Server 2003 e CHECK_POLICY e CHECK_EXPIRATION estão habilitados. Para obter mais informações, consulte Política de senha.

Permissões

Requer a permissão VIEW no login. Ao solicitar o hash da senha, também requer a permissão CONTROL SERVER.

Exemplos

Um. Verificar se um login deve alterar sua senha

O exemplo a seguir verifica se o logon John3 do SQL Server deve alterar sua senha na próxima vez que se conectar a uma instância do SQL Server.

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

B. Verificar se um login está bloqueado

O exemplo a seguir verifica se o logon do John3 SQL Server está bloqueado.

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