SQLServer中登录名的用户名配置
其实这个问题困扰我很久了。 今夏(13.7)实习的时候第一次接触sqlserver 当时是统一安排,按部就班的做就行。
那时候链接数据库用的id是sa。
后来自己做小程序时候举得不管什么都用sa登录好像不是会事。
就自建了个登录名,形如“Application;123456”
但是实际用的时候发现 可以用这个号连SQLServer Management 却不能在程序上连上具体的数据库
同时用sa登录就一点问题没有。
那会总觉得是connect语句有问题(too naive -.-)
最后是不了了之了,但总归是耿耿于怀
最近又在做一个新的项目,感觉需要正视这个问题,百度了一番
发现除了登录名之外还有个用户名。
对登录名要做一定的配置才能使之访问特定的数据库,即用户映射:
如,在登录名Morris的属性中选用户映射,再勾选具体的数据库 这里是EIGASDB。
此外角色成员身份也要做选择,默认会勾上public,但此时除了能链接什么都做不了,select都不行
勾上db_owner即可获得常用的操作的权限。
此外的诸如db_datareader,db_securityadmin 照字面理解即可(反正我是这么理解的)
---------------------------------------------------------------------------------------------------------------------------------------
对于SQLServer的这套机制我基本不知所谓,只能做些最表象化的操作,比如dbo是个什么就全然不懂。
有待进一部探索