我正在使用V12 Azure SQL
。
要列出所有登录(server level
),我们可以在master
数据库上使用此查询:
SELECT * FROM sys.sql_logins;
要列出所有用户(database level
),我们可以在特定数据库上使用此查询:
SELECT * FROM sys.sysusers;
但是如何获得logins
和users
之间的对应关系?
存储此通信的system table
在哪里?
答案 0 :(得分:6)
要查找为用户映射的登录信息,请查看sid
中的sys.sysusers
列。
此值对应于master数据库中sid
的{{1}}列。
不幸的是,您在连接到sys.sql_logins
时无法找到SID
的登录名。在获得user database
和查询master
后,您需要单独连接sid
数据库以获取名称。
答案 1 :(得分:3)
连接到主数据库时,您可以运行此查询以创建登录名和用户
列表select l.name as [login name],u.name as [user name] from sysusers u inner join sys.sql_logins l on u.sid=l.sid
我希望这可能有效