sql server 2008上如何解决新建用户问题

时间:2024-04-05 18:20:17

一, 背景知识

1,登录名与用户名的区别和联系:
登录名:服务器方的一个实体,使用一个登录名只能进入服务器,但是不能让用户访问服务器中的数据库资源。每个登录名的定义存放在master数据库的syslogins表中
用户名:一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限。用户定义信息存放在每个数据库的sysusers表中。
SQLSERVER把登录名与用户名的关系称为映射。用登录名登录SQLSERVER后,在访问各个数据库时,SQLSERVER会自动查询此数据库中是否存在与此登录名关联的用户名,若存在就使用此用户的权限访问此数据库,若不存在就是用guest用户访问此数据库
一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个登录可对应多个用户,一个用户也可以被多个登录使用。好比SQLSERVER就象一栋大楼,里面的每个房间都是一个数据库.登录名只是进入大楼的钥匙,而用户名则是进入房间的钥匙.一个登录名可以有多个房间的钥匙,但一个登录名在一个房间只能拥有此房间的一把钥匙。
链接或登录Sql Server服务器时是用的登录名而非用户名登录的,程序里面的链接字符串中的用户名也是指登录名
我们常见的dbo(用户名)是指以sa(登录名)或windows administration(Windows集成验证登录方式)登录的用户,也就是说数据库管理员在SQLSERVER中的用户名就叫dbo,而不叫 sa,这一点看起来有点蹊跷,因为通常用户名与登录名相同(不是强制相同,但为了一目了然通常都在创建用户名时使用与登录名相同的名字),例如创建了一个登录名称为me,那么可以为该登录名me在指定的数据库中添加一个同名用户,使登录名me能够访问该数据库中的数据.当在数据库中添加了一个用户me 后,之后以me登录名登录时在该数据库中创建的一切对象(表,函数,存储过程等)的所有者都为me,如me.table1,me.fn_test(),而不是dbo.table1,dbo.fn_test().
SQL Server中还有一个特殊的数据库角色public,它存在于每一个数据库中,包括系统数据库,如master、msdb、model和用户数据库,数据库的所有用户都属于public角色,并且不能从public角色中删除。
敲黑板:建议以上知识先了解一下便于解决问题

二,废话少说,上操作????

1,首先必须打开SQL Server Management Studio啦,然后以windows 身份验证登录。
sql server 2008上如何解决新建用户问题
2,找到安全性下面的登录名,然后右击"新建登录名”。
sql server 2008上如何解决新建用户问题
3,在这里进行一系列的配置
sql server 2008上如何解决新建用户问题注意:强制实施密码策略是默认打开的,如果不需要关闭即可。
4,点击左侧用户映射,找到你想要映射的数据库(一般为你上部操作的默认数据库)。选择你想要的数据库角色(不懂的意思的就百度一下)。
sql server 2008上如何解决新建用户问题
5,点击左侧状态选项(默认情况不用更改)
sql server 2008上如何解决新建用户问题
6,右击资源管理器 =》右击属性 =》点击安全性。
sql server 2008上如何解决新建用户问题
选择sql server 和 windows 身份验证模式(s)
sql server 2008上如何解决新建用户问题
7,最后一步啦????,重启服务。
sql server 2008上如何解决新建用户问题
重新打开SQL Server Management Studio,选择你想要登录的用户即可!!!