LOGINPROPERTY (Transact-SQL)
Devuelve información sobre la configuración de la directiva de inicio de sesión.
Sintaxis
LOGINPROPERTY ( 'login_name' , 'property_name' )
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 la propiedad que se va a devolver para el inicio de sesión. propertyname puede ser uno de los valores siguientes.Valor
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 caduque 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 los 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, como los usuarios autenticados a través de Windows.
HistoryLength
Devuelve el tiempo durante el que se ha realizado un seguimiento del inicio de sesión con el sistema de aplicación de la directiva de contraseñas.
IsExpired
Devuelve información que indicará si el inicio de sesión ha caducado.
IsLocked
Devuelve información que indicará si el inicio de sesión está bloqueado.
IsMustChange
Devuelve información que indicará si se debe cambiar la contraseña del inicio de sesión 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.
Devuelve
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 es de tipo int.
BadPasswordTime, HistoryLength, LockoutTime y 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á caducado o si caducará 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 caduca.
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.
Notas
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 y PasswordLastSetTime están disponibles en todas las configuraciones compatibles de SQL Server, pero las demás propiedades sólo están disponibles cuando se ejecuta SQL Server en Windows Server 2003 y tanto CHECK_POLICY como CHECK_EXPIRATION están habilitadas. Para obtener más información, vea Directiva de contraseñas.
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
Vea también