2010-09-06 45 views
0

我正在調用odbc32.dll(SQLBrowseConnect)以返回sql服務器上的數據庫列表。odbc32和SQLBrowseConnect幫助

從運行的軌跡,我可以看到正在執行的查詢是

select name from master..sysdatabases where has_dbaccess(name)=1 

如果我憑據傳遞不只是返回系統數據庫sa用戶。無論如何,我可以使用SQLBrowseConnect與其他用戶(其默認數據庫也不能保證作爲主數據庫)返回服務器上的所有數據庫?

另外我想避開smo對象

回答

0

該查詢在沒有系統管理員憑據的情況下工作。

您需要確保您/您使用的憑據至少在您需要連接的每個數據庫的public database role中。

正如你所猜測的,從master..sysdatabases中選擇名稱將返回所有數據庫名稱,而不管您對數據庫的訪問權限。