odbc32和SQLBrowseConnect帮助

时间:2010-09-06 13:49:41

标签: sql odbc smo

我正在调用odbc32.dll(SQLBrowseConnect)来返回sql server上的数据库列表。

从运行跟踪我可以看到正在执行的查询是

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

如果我传递的凭据不是sa用户,则只返回系统数据库。无论如何我可以使用SQLBrowseConnect与另一个用户(其默认数据库也不保证是主数据库)来返回服务器上的所有数据库吗?

我也想避免smo对象

1 个答案:

答案 0 :(得分:0)

该查询无需sysadmin凭据即可运行。

您需要确保您/您使用的凭据至少位于您需要连接的每个数据库的public database role

正如您所猜测的那样,从master..sysdatabases中选择名称将返回所有数据库名称,而不管您对数据库的访问权限。