相关文章推荐
1.创建了一个数据库
create database Product
2.创建了一个登陆
exec sp_addlogin 'loginProduct','pwd'
3.创建了一个用户
exec sp_adduser 'loginProduct','user1Product'
执行完上面的语句之后,我想再创建一个用户给loginProduct
exec sp_adduser 'loginProduct','user2Product'
SQL就会说“消息 15063,级别 16,状态 1,第 1 行
该登录已用另一个用户名开立帐户。”
login和user一对一绑定的么,我用loginProduct这个“登录”登上了SQL,看到实例名后面是(SQL Server 版本号 --lgoinProduct),并没有没有发现user1Product相关的字样,所以我想,我用loginProduct登录上了SQL,用户名其实就是与loginProduct绑定的,不知道我的理解是不是对的,还请高手指点一二
login  是能够登录到数据库的登录名
user是针对单个数据库而言的
你创建一个login后可以给每一个数据创建一个基于这个登录名的用户,且在不同数据库中用户名可以相同 这样可以有效的控制该登录名在不同数据库中的权限
--创建SQL Server 的登录名
exec sp_addlogin 'loginProduct','pwd'
--为数据库1创建用户user1Product
use Database1
go
exec sp_adduser 'loginProduct','user1Product'
go
--为数据库2创建用户
use Database2
go
exec sp_adduser 'loginProduct', 'user1Product'  --这里的用户名是可以相同的 但是一个数据库对应一个登录名只能有一个用户
go

Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈! My blog~~~

我摸索的结果也是这个样子,但是我不敢确定,所以上来问问
还有一个问题,现有一个数据库DB,登陆名为loginDB,用户名为userDB,用loginDB登陆到了SQL系统,系统里还有其它的数据库像DB2,DB3......,而用loginDB这个登陆名登陆上来的login只可以操作DB这个数据库,我想问的是:操作DB数据库的时候,用户是不是userDB(对于一个数据库而言,login与user是一对一的关系),我的理解是:login与user绑定了,此时操作数据库的就是userDB这个用户了,不知道我这样理解与描述正不正确

还有一个问题,我这个数据库是有多个用户的(首先系统里就有好多个用户在那个地方),那我怎么知道我现在使用的是哪个用户呢?我知道,如果切换成另一个用户来操作的话用什么来实现?

 
推荐文章