数据库用户名和登录名的关系


登录:服务器方的一个实体,使用一个 登录名只能进入服务器,但是不能让用户访问服务器中的数据库资源。每个 登录名的定义存放在master数据库的syslogins表中

用户:一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限。用户定义信息存放在每个数据库的sysusers表中。

一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个登录可对应多个用户,一个用户也可以被多个登录使用。
可以把登录对象比作是驾驶证,把用户对象比作是汽车钥匙来帮助理解。

如果没有为一个登录指定数据库用户,则登录时系统将试图将该登录名映射成guest用户(如果当前的数据库中有guest用户的话)。如果还是失败的话,这个用户将无法访问数据库。

 

在我的SQL server 2000中:

登录:

没有发现guest登录用户名

数据库用户:

发现有guest用户名(不是登录名)

我个人的理解是这样的:

数据库中的guest用户与登录名guest无关,我们在这里也没有设置guest登录名,否则所有的用户都可以通过guest来登录服务器了。

我们发现在图2中,用户名guest对应的登录名为空,空的含义不是用户可以没有登录名而通过guest来登录,而是必须用户按指定的

登录名进行登录之后,如果没有为该登录名指定数据库用户名,则该登录名可以使用数据库用户中的guest用户名进行相应的数据库操作。

空意味着ANY而不是NULL

转载于:https://www.cnblogs.com/NeuqUstcIim/archive/2008/08/31/1280577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值