2016-04-15 17 views
5

Używam V12 Azure SQL.SQL Azure: lista wszystkich użytkowników i użytkowników

Aby wyświetlić wszystkie loginy (server level) możemy korzystać z tej strony internetowej na master bazy danych:

SELECT * FROM sys.sql_logins; 

Do listy wszystkich użytkowników (database level) możemy użyć tej kwerendy na konkretnej bazy danych:

SELECT * FROM sys.sysusers; 

Ale jak uzyskać korespondencję między logins a users?

Gdzie jest system table, który przechowuje tę korespondencję?

Odpowiedz

4

Aby znaleźć login odwzorowany dla użytkownika, spójrz na kolumnę sid od sys.sysusers.

Ta wartość odpowiada kolumnie sid z sys.sql_logins w bazie danych master.

Niefortunną częścią jest to, że nie można znaleźć nazwy użytkownika dla SID podczas połączenia z user database. Po uzyskaniu nazwy i zapytaniu sys.sys_logins należy połączyć osobno bazę danych, aby uzyskać nazwę.

1

Po podłączeniu do DB Master można uruchomić tę kwerendę, aby zrobić listę loginów i Użytkowników

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 

Mam nadzieję, że to może działać

Powiązane problemy