选择所有 MSSQL Server 登录名的 SQL 查询是什么?
谢谢你。你们中不止一个人得到了我一直在寻找的答案:
SELECT * FROM syslogins
这就是你所追求的吗?
select * from master.syslogins
截至 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 数据库上创建用户,因此不太可能需要创建登录名在“大师”中。
EXEC sp_helplogins
您还可以传递“@LoginNamePattern”参数来获取有关特定登录的信息:
EXEC sp_helplogins @LoginNamePattern='fred'
@allain,@GateKiller,您的查询选择用户而不是登录
要选择登录,您可以使用以下查询:
SELECT name FROM master..sysxlogins WHERE sid IS NOT NULL
在MSSQL2005/2008中使用syslogins表代替sysxlogins
从 sysusers 中选择将获得有关所选数据库上的 users 的信息,而不是服务器上的 logins 的信息。
sp_helplogins 将为您提供登录名以及数据库及其权限。
Select * From Master..SysUsers Where IsSqlUser = 1
查看主模式中的 syslogins 或 sysusers 表。但不确定这在更新的 MSSQL 版本中是否仍然存在。在 MSSQL 2005 中,有称为 sys.syslogins 和 sys.sysusers 的视图。