目录
创建用户
用户和登录名的关系
一开始我是直接写例题的 但是写到后面 切换用户然后让他赋予别的用户权限 我发现之前创建的用户 我没法登录
这个时候发现了 一个用户 一个登录名 我开始搞不清楚 这两个的关系
例题说的用户U1 应该是登录名U1 我去百度了一下 两个的区别用户和登录名的区别
但是还是搞不太清楚 其中有这么一句话
登录名可以理解为进入整个大楼的钥匙,用户名可以理解为一个房间的钥匙,这里所说的大楼就是sql server服务器,而房间就是这个sql server服务器中的具体的库,要注意登录名是存在于master数据库的syslogins表中,用户名是在各个具体的库下建立的(也就是要先进入各个库), 最关键的是:一个登录名可以和多个不同库下的用户做映射,但是在同一个库下只能和一个用户做映射,并且一个用户名可以和多个登录名有映射关系, 真正有权限的是用户名,只不过是用登录名去登进数据库,然后去找映射的用户名,这样就有了相应的权限
反正是理解了半天 拿我们创建的例子来说 登录命是U1 他在test数据库中的用户是U1 登录名U2在test数据库中的用户是U2 以此类推 因为一个登录名在同一个库下不能映射多个用户 所以每个用户想进入test这个房间 得使用不同的登录名 所以我创建了七个登录名 分别对应七个用户 都映射在test中
grant 授予权限
例 4.1把查询Student表权限授给用户U1
GRANT SELECT
ON TABLE STUDENT
TO U1
这里是标准 sql 和tsql的不同
GRANT SELECT
ON STUDENT
TO U1
没有用户U1
所以创建U1
例4.2把对Student表和Course表的全部权限授予用户U2和U3
GRANT ALL PRIVILEGES
ON COURSE,STUDENT
TO U2,U3
这里是标准和tsql的区别
tsql不能直接操作两个表的权限
GRANT