LOGINPROPERTY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Devuelve información sobre la configuración de la directiva de inicio de sesión.

Convenciones de sintaxis de Transact-SQL

Sintaxis

LOGINPROPERTY ( 'login_name' , 'property_name' )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

login_name
Es el nombre de un inicio de sesión de SQL Server para el que se devolverá el estado de la propiedad login.

propertyname
Es una expresión que contiene la información de propiedad que se va a devolver para el inicio de sesión. propertyname puede ser uno de los valores siguientes.

Value Descripción
BadPasswordCount Devuelve el número de intentos consecutivos de inicio de sesión con una contraseña incorrecta.
BadPasswordTime Devuelve la hora del último intento de inicio de sesión con una contraseña incorrecta.
DaysUntilExpiration Devuelve el número de días que faltan para que expire la contraseña.
DefaultDatabase Devuelve la base de datos predeterminada de inicio de sesión de SQL Server tal y como se almacena en los metadatos, o master si no se ha especificado ninguna base de datos. Devuelve NULL para los usuarios que no se han autenticado a través de SQL Server (por ejemplo, usuarios autenticados a través de Windows).
DefaultLanguage Devuelve el idioma predeterminado de inicio de sesión tal y como se almacena en los metadatos. Devuelve NULL para los usuarios que no se han autenticado a través de SQL Server; por ejemplo, usuarios autenticados a través de Windows.
HistoryLength Devuelve el número de contraseñas comprobadas para el inicio de sesión con el mecanismo de imposición de la directiva de contraseñas. 0 si la directiva de contraseñas no se exige. La exigencia de aplicar la directiva de contraseñas se vuelve a iniciar con 1.
IsExpired Indica si la contraseña de inicio de sesión ha expirado.
IsLocked Indica si el inicio de sesión está bloqueado.
IsMustChange Indica si el inicio de sesión debe cambiar la contraseña la próxima vez que se conecte.
LockoutTime Devuelve la fecha en la que se bloqueó el inicio de sesión de SQL Server por haber superado el número permitido de intentos de inicio de sesión erróneos.
PasswordHash Devuelve el hash de la contraseña.
PasswordLastSetTime Devuelve la fecha en la que se estableció la contraseña actual.
PasswordHashAlgorithm Devuelve el algoritmo de hash utilizado para la contraseña.

Devoluciones

El tipo de datos depende del valor solicitado.

IsLocked, IsExpired e IsMustChange son de tipo int.

  • 1 si el inicio de sesión está en el estado especificado.

  • 0 si el inicio de sesión está en el estado especificado.

BadPasswordCount e HistoryLength son de tipo int.

BadPasswordTime, LockoutTime, PasswordLastSetTime son de tipo datetime.

PasswordHash es de tipo varbinary.

NULL si el inicio de sesión no es un inicio de sesión de SQL Server válido.

DaysUntilExpiration es de tipo int.

  • 0 si el inicio de sesión está expirado o si expirará en el día en que se hace la consulta.

  • -1 si la directiva de seguridad local de Windows determina que la contraseña nunca expira.

  • NULL si se ha desactivado CHECK_POLICY o CHECK_EXPIRATION para un inicio de sesión, o si el sistema operativo no admite la directiva de contraseñas.

PasswordHashAlgorithm es de tipo int.

  • 0 si es un hash SQL7.0

  • 1 si es un hash SHA-1

  • 2 si es un hash SHA-2

  • NULL si el inicio de sesión no es un inicio de sesión de SQL Server válido.

Comentarios

Esta función integrada devuelve información sobre la configuración de la directiva de contraseñas de un inicio de sesión de SQL Server. Los nombres de las propiedades no distinguen mayúsculas de minúsculas, por lo que nombres de propiedades como BadPasswordCount y badpasswordcount son equivalentes. Los valores de las propiedades PasswordHash, PasswordHashAlgorithm y PasswordLastSetTime están disponibles en todas las configuraciones compatibles de SQL Server, pero las demás propiedades solo están disponibles cuando SQL Server se ejecuta en Windows Server 2003 y tanto CHECK_POLICY como CHECK_EXPIRATION están habilitadas. Para obtener más información, vea Password Policy.

Permisos

Requiere permiso VIEW en el inicio de sesión. También se necesita permiso CONTROL SERVER para solicitar el hash de contraseña.

Ejemplos

A. Comprobar si se debe cambiar la contraseña de un inicio de sesión

En el ejemplo siguiente se comprueba si el inicio de sesión John3 de SQL Server debe cambiar la contraseña la próxima vez que se conecte a una instancia de SQL Server.

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

B. Comprobar si un inicio de sesión está bloqueado

En el ejemplo siguiente se comprueba si el inicio de sesión John3 de SQL Server está bloqueado.

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

Consulte también

CREATE LOGIN (Transact-SQL)
sys.server_principals (Transact-SQL)