2016-04-15 25 views
5

我正在使用V12 Azure SQLSQL Azure:列出所有登錄名和用戶

要列出所有登錄(server level),我們可以使用此查詢的master數據庫:

SELECT * FROM sys.sql_logins; 

要列出所有用戶(database level),我們可以在特定的數據庫上使用該查詢

SELECT * FROM sys.sysusers; 

但是如何得到loginsusers之間的對應關係?

system table這個存儲這個對應關係的地方在哪裏?

回答

4

要查找映射給用戶的登錄名,請查看sys.sysuserssid列。

該值對應於主數據庫中sys.sql_loginssid列。

不幸的是,當連接到user database時,您無法發現SID的登錄名。一旦你有sid和查詢sys.sys_logins獲得名稱,你將需要單獨連接master數據庫。

1

當連接到主​​數據庫,你可以運行此查詢,使登錄的列表和用戶

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 

我希望這可以工作

相關問題