【问题标题】:Getting account 'locked' status in SQL Server在 SQL Server 中获取帐户“锁定”状态
【发布时间】:2010-04-09 12:20:23
【问题描述】:

我想在 SQL Server 中解锁一个帐户。在解锁之前,我必须检查该帐户是否被锁定。

我只想在帐户被锁定时解锁。

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

【问题讨论】:

  • 您的用户使用 SQL 还是 Windows 身份验证?
  • 知道后如何解锁用户?

标签: sql-server locking status


【解决方案1】:

代表 Alex K 发布答案。

SELECT LOGINPROPERTY('loginname', 'IsLocked')

【讨论】:

    【解决方案2】:

    您的意思是登录名有 Login: Denied 吗?如果是这样,您可以:

    SELECT is_disabled from sys.server_principals WHERE name = @loginname
    

    【讨论】:

    • No.. 例如,如果我们为特定的 MS SQL 用户输入错误密码超过 3-4 次,帐户就会被锁定。我想检查特定帐户是否被锁定?
    • 啊; SELECT LOGINPROPERTY('loginname', 'IsLocked')
    【解决方案3】:

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

    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~~

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-17
      • 2017-02-03
      • 2013-09-03
      • 1970-01-01
      • 2012-07-23
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多