2012-02-29 29 views
2

我的基本問題是要查找使用查詢訪問哪個數據庫...如何從安全登錄中查找數據庫列表?

在下面的圖片中,我需要編寫查詢來查找映射到用戶的數據庫列表。在下面的例子中的列表將包含加州和舊金山.....

我可以檢索此登錄名使用以下查詢

select loginname from syslogins where name = (SELECT SUSER_NAME() LoggedInUser) 

我怎樣才能找到從數據庫列表?

enter image description here

非常感謝, OMKAR。

回答

1

您可以使用系統過程sp_helplogins得到這個信息:

declare @loginName sysname; 
set @loginName = suser_name(); 
exec sp_helplogins @loginName; 

它可能更多的信息比你所需要的。如果是這樣,請以該過程的代碼爲例編寫自己的過程(最好不要依賴系統過程,因爲它們可以由Microsoft更改)。

+0

好吧,會有多個用戶想要檢查他們有權訪問哪個數據庫。其中一些可能沒有sp_helplogins的權限.....你能給我一個查詢,用戶可以知道他可以訪問的數據庫嗎? – om471987 2012-02-29 21:11:10

+0

這個答案告訴你該怎麼做:打開SP,然後寫出你自己的 – MatBailie 2012-02-29 21:16:40

+0

它說用戶沒有執行此操作的權限。 – om471987 2012-02-29 21:23:32