2016-04-15 73 views
5

kullanıyorum V12 Azure SQL.SQL Azure: tüm oturumları ve kullanıcıları listele

SELECT * FROM sys.sysusers; 
: Biz belirli bir veritabanında bu sorguyu kullanabilirsiniz

SELECT * FROM sys.sql_logins; 

(database level) tüm kullanıcıları listelemek için:

biz master veritabanında bu sorguyu kullanabilirsiniz (server level) bütün girişleri listelemek için

Fakat logins ve users arasındaki yazışmalar nasıl yapılır?

Bu yazışmaları depolayan system table nerede?

cevap

4

Bir kullanıcı için eşlenen giriş bilgisini bulmak için sys.sysusers adresinden sid sütununa bakın.

Bu değer, sys.sql_logins ana veritabanındaki sid sütununa karşılık gelir.

Talihsiz kısım, 'a bağlanırken SID için oturum açma adını bulamıyor olmanızdır. Ad almak için sid ve sys.sys_logins sorgularını aldıktan sonra master veritabanını ayrı ayrı bağlamanız gerekir.

Eğer Oturumu açma bir listesini yapmak için bu sorguyu çalıştırabilir usta DB ve Kullanıcılar bağlı
1

Bu

çalışabilir umut
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