请教一下SQL Server的登录名和数据库用户名的区别我知道数据库用户名可以用于获取数据库相应的权限,而登录名不可以;但我不了解为什么要设计一个数据库用户名,直接让登录名对数据库拥有相应权限不更方便吗?难道这样更方便?还是让安全分层更合理?我这样理解可以吗?我记得网上有这样一句话:“登录名登录后,通过检查数据库有没有与该登录名映射到用户名,如果有则赋予该登录名相应权限,如果无则拒绝赋予该登录名权限”。也就是说通过数据库用户名来确定该登录名对哪些数据库具有权限。就像大楼和房间的例子:一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个登录可对应多个用户,一个用户也可以被多个登录使用。好比SQLSERVER就象一栋大楼,里面的每个房间都是一个数据库.登录名只是进入大楼的钥匙,而用户名则是进入房间的钥匙.一个登录名可以有多个房间的钥匙,但一个登录名在一个房间只能拥有此房间的一把钥匙。那我不解的是,我的目的是进入房间(数据库),我光光进入大楼(SQL Server服务器)是没有意义的啊,那为什么还要对我进房间设门槛,直接给我进入相应房间的权限不就行了吗?何必还得给我大楼钥匙又给我房间钥匙。最简单的理解就是如果是使用一卡通(门禁卡),直接给我的一张卡分配能进入大楼和哪些房间的权限,不用进大楼用一种卡,进房间又一种卡,那样岂不是更麻烦?