问两个平常少遇到的问题,有兴趣的人进

jonas401 2006-03-07 05:22:22
平台:SqlServer 2000

问题1: 查询出当前登陆用户所能访问的数据库

(不知道这个问题是不是属于sqlserver的)
问题2: 外部应用程序通过ado连接数据库时,在不指定具体数据库的情况下,怎么判断提供的连接字符串中的验证方式(用户/密码或者window信任验证)是否可以登陆到SqlServer
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chb5210 2006-03-08
  • 打赏
  • 举报
回复

以前遇到过,没有解决,学习
jonas401 2006-03-08
  • 打赏
  • 举报
回复
我现在想做的功能是,外部程序通过输入的验证方式(帐号/密码或者window登陆验证)来列出这次登陆所能访问的数据库.这么说来,如果这次登陆没有访问master数据库权限的话,是没法达到目的了
xeqtr1982 2006-03-07
  • 打赏
  • 举报
回复
学习:)
lsqkeke 2006-03-07
  • 打赏
  • 举报
回复
学习 :)
zjcxc 2006-03-07
  • 打赏
  • 举报
回复
问题2...


不登录的话, 当然确定不了能否登录数据库, 因为验证是在服务器端完成的, 不登录服务器无法验证.

如果已经提交验证到服务器了, 则服务器自己会验证, 不用你去检查.
zjcxc 2006-03-07
  • 打赏
  • 举报
回复
HAS_DBACCESS
返回信息,说明用户是否可以访问指定的数据库。

语法
HAS_DBACCESS ( 'database_name' )

参数
database_name

数据库的名称,用户想获取有关该数据库的访问信息。database_name 的数据类型为 sysname。

返回类型
int

注释
如果用户可以访问该数据库,那么 HAS_DBACCESS 返回 1。如果用户不能访问该数据库,那么它返回 0。如果该数据库名无效,则返回 NULL。

zjcxc 2006-03-07
  • 打赏
  • 举报
回复
SELECT name FROM master.dbo.sysdatabases
WHERE HAS_DBACCESS(name) = 1
-狙击手- 2006-03-07
  • 打赏
  • 举报
回复
2\ master..sp_helpuser 查询这个结果集中是否有用户信息
zlp321002 2006-03-07
  • 打赏
  • 举报
回复
--分析 sp_who2 存储过程
-狙击手- 2006-03-07
  • 打赏
  • 举报
回复
2、那就连接master库试试
-狙击手- 2006-03-07
  • 打赏
  • 举报
回复
1、master..sp_helplogins

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧