登录的 SQL 查询

问题描述 投票:0回答:9

选择所有 MSSQL Server 登录名的 SQL 查询是什么?

谢谢你。你们中不止一个人得到了我一直在寻找的答案:

SELECT * FROM syslogins 
sql sql-server
9个回答
61
投票

这就是你所追求的吗?

select * from master.syslogins

49
投票

截至 2012 年在 SQL Azure 上;

登录:

    --connecct to master

    --logins
    SELECT * from sys.sql_logins
    --users
    SELECT * from sys.sysusers

以及特定数据库上的用户:

    --connect to database
    SELECT * from sys.sysusers

另请注意,Azure SQL 上的“用户”现在 (2022 年 11 月 17 日) 具有更多“登录”类型属性,并且现在可以使用密码在 Azure SQL 数据库上创建用户,因此不太可能需要创建登录名在“大师”中。


18
投票
EXEC sp_helplogins

您还可以传递“@LoginNamePattern”参数来获取有关特定登录的信息:

EXEC sp_helplogins @LoginNamePattern='fred'

9
投票

从 SQL 2008 开始,您应该使用

sys.server_principals
而不是
sys.syslogins
已弃用


4
投票

@allain,@GateKiller,您的查询选择用户而不是登录
要选择登录,您可以使用以下查询:

SELECT name FROM master..sysxlogins WHERE sid IS NOT NULL

在MSSQL2005/2008中使用syslogins表代替sysxlogins


4
投票

从 sysusers 中选择将获得有关所选数据库上的 users 的信息,而不是服务器上的 logins 的信息。


4
投票

sp_helplogins 将为您提供登录名以及数据库及其权限。


2
投票
Select * From Master..SysUsers Where IsSqlUser = 1

1
投票

查看主模式中的 syslogins 或 sysusers 表。但不确定这在更新的 MSSQL 版本中是否仍然存在。在 MSSQL 2005 中,有称为 sys.syslogins 和 sys.sysusers 的视图。

© www.soinside.com 2019 - 2024. All rights reserved.