【发布时间】:2010-04-09 12:20:23
【问题描述】:
我想在 SQL Server 中解锁一个帐户。在解锁之前,我必须检查该帐户是否被锁定。
我只想在帐户被锁定时解锁。
是否有任何 SQL 查询或存储过程来获取 SQL 用户的“锁定”状态?
【问题讨论】:
-
您的用户使用 SQL 还是 Windows 身份验证?
-
知道后如何解锁用户?
标签: sql-server locking status
我想在 SQL Server 中解锁一个帐户。在解锁之前,我必须检查该帐户是否被锁定。
我只想在帐户被锁定时解锁。
是否有任何 SQL 查询或存储过程来获取 SQL 用户的“锁定”状态?
【问题讨论】:
标签: sql-server locking status
代表 Alex K 发布答案。
SELECT LOGINPROPERTY('loginname', 'IsLocked')
【讨论】:
您的意思是登录名有 Login: Denied 吗?如果是这样,您可以:
SELECT is_disabled from sys.server_principals WHERE name = @loginname
【讨论】:
列出所有数据库中所有未锁定状态的登录(激活所有数据库上的所有登录)
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~~
【讨论】: