我一直在搜索谷歌过去30分钟的答案,但未能找到满意的答案。
我可以从syslogins表中检索db登录列表,但它不包含指示是否禁用登录的字段。我需要在select查询中使用它。任何人都可以开导我吗?
请注意,这适用于sql server 2000。
答案 0 :(得分:9)
select name, hasaccess
from sys.syslogins
我相信您正在寻找的是hasaccess
字段。根据{{3}},hasaccess
如果登录有权访问该实例,则1
为0
,如果没有,则为{{1}}。
答案 1 :(得分:4)
减少联接:
从sys.sql_logins中选择名称is_disabled 其中is_disabled = 1 按1排序
答案 2 :(得分:2)
使用sys.sql_logins检查启用/禁用登录状态。 示例
select * from syslogins sl
join
sys.sql_logins sql
on sl.sid=sql.sid
where is_disabled=1
答案 3 :(得分:2)
SELECT is_disabled,*
FROM sys.sql_logins
答案 4 :(得分:0)
接受的答案不正确,因为它不会提供有用的信息。如果帐户已禁用,则hasaccess
列仍可以是1
。
最接近的正确答案是:
select name,is_disabled,* from sys.sql_logins where name = '' , if its an SQL account.