如何在不使用选择查询中的GUI的情况下判断是否禁用了数据库登录

时间:2011-11-13 22:30:12

标签: sql-server sql-server-2000

我一直在搜索谷歌过去30分钟的答案,但未能找到满意的答案。

我可以从syslogins表中检索db登录列表,但它不包含指示是否禁用登录的字段。我需要在select查询中使用它。任何人都可以开导我吗?

请注意,这适用于sql server 2000。

5 个答案:

答案 0 :(得分:9)

select name, hasaccess
from sys.syslogins

我相信您正在寻找的是hasaccess字段。根据{{​​3}},hasaccess如果登录有权访问该实例,则10,如果没有,则为{{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.