日期:2014-5-19 浏览次数:20041次

sql server 2000中登陆名与用户名区别
登陆后,我又建立一个用户名,针对某一数据库,可我使用它不能访问.
请问这是什么原因.

------解决方案--------------------
登录,允许你连接sql实例

用户,允许你按照定义的权限管理和使用sql实例中指定的对象
------解决方案--------------------
能否说具体些?登录与用户名的概念本来就不一样,登录是基于服务器而言的,而用户是基于数据库而言,正常的情况下是先创建一个登录,然后在每个数据库分别创建对应的用户,SQL用户权限很小,只有select 基本表的权限,所以需要为该用户设置角色继承. 已在新建 login, 并在msdb数据库新建用户名为msdbuser为例,语句如下:

sp_addlogin 'login ', 'loginpwd ', 'msdb ' --新建登录login
go
exec sp_grantdbaccess N 'login ', N 'msdblogin ' --新建用户msdblogin
go
exec sp_addrolemember N 'db_owner ', N 'msdblogin ' --设置msdblogin为db_owner角色的成员
go
------解决方案--------------------
参考:

登录和用户有何区别?

http://topic.csdn.net/t/20050406/14/3913617.html