在SQL Server中获得“锁定”状态的帐户

5

我想在SQL Server中解锁一个账户。在解锁之前,我需要检查该账户是否已被锁定。

只有当账户被锁定时,我才想要进行解锁操作。

是否有任何SQL查询或存储过程可以获取SQL用户的“锁定”状态?


您的用户使用SQL还是Windows身份验证? - Arvo
你知道用户如何解锁吗? - justin.m.chase
3个回答

8

代表Alex K.发布回答:

SELECT LOGINPROPERTY('loginname', 'IsLocked')

这段代码的作用是查询指定登录名的帐户是否被锁定。

这将返回0(未锁定)1(已锁定) - ManojRawat

5
你是指一个登录名显示为“登录失败”的情况吗?如果是,你可以:
SELECT is_disabled from sys.server_principals WHERE name = @loginname

如果我们针对某个 MS SQL 用户输入了错误的密码超过 3-4 次,该帐户就会被锁定。我想要检查特定帐户是否被锁定? - Santhosha
4
啊;选择LOGINPROPERTY('loginname','IsLocked')。 - Alex K.

0

列出所有数据库中未锁定状态的登录信息(激活所有数据库上的所有登录)

SELECT name, is_disabled, LOGINPROPERTY(name, N'isLocked') as is_locked,
LOGINPROPERTY(name, N'LockoutTime') as LockoutTime into #tmp_is_disabled
FROM sys.sql_logins
WHERE LOGINPROPERTY(name, N'isLocked') = 0    
 
select * from #tmp_is_disabled where is_disabled ='false'

关于

~~pektas~~

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接