如何获取用户的CHECK_EXPIRATION属性的值?

时间:2015-08-26 16:01:01

标签: sql-server

ALTER LOGIN允许用户更改与帐户关联的CHECK_EXPIRATION属性,但如何为任意用户获取此属性的现有值?

1 个答案:

答案 0 :(得分:0)

您可以通过LOGINPROPERTY()系统函数获取此数据:

select loginproperty('your_login_name', 'daysuntilexpiration');

如果您想查看SQL登录是否过期,请检查sys.sql_logins

select name, is_expiration_checked
from sys.sql_logins;

注意:根据the documentation on CHECK_EXPIRATION,这仅适用于SQL登录,而不适用于Windows登录。如果您需要为Windows帐户过期,那么我建议您创建编程逻辑(在SQL Server之外)从SQL Server获取登录,然后进行AD调用以获取到期日期。 To do this with PowerShell, this seems to be a good blog post on a quick methodology