--创建sql用户
1.创建登录名
常规-》输入登录名-》选择sqlserver身份验证-》输入密码-》选择不强制实施密码过期策略-》选择默认数据库master-》选择默认语言可不选
2.点击服务器角色-》选择要向角色授予的安全特权。(PUBLIC、sysadmin)
3.点击用户映射-》选择用户可以登录的数据库-》选择用户拥有的登录数据库的权限。(配置要访问的数据库),public角色
4.点击安全对象-》点击搜索添加安全对象-》安全对象添加完成后选择安全对象权限。
5.点击状态-》选择默认即可。设置授予和已启用

用户、组或角色 在当前数据库中已存在
情 况描述:sql server数据库从一台机转移到另一台机时,登录名没转移。这种情况将会产生“孤立用户”(孤立用户定义:将数据库恢复到其它服务器 时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户),此时是不能通过新建登录或者对同名登录授予对应数据库用户权限来解决下面 问题。
报错信息:用户、组或角色 'XX' 在当前数据库中已存在。(Microsoft SQL Server,错误:15023)
解决办法(下面以test数据库为例,登录名为ReadData):
--use test
--go
--sp_change_users_login 'update_one','ReadData','ReadData'
说 明:test为数据库名,update_one为存储过程的参数(表示只处理一个用户),前一个ReadData为“用户”,后一个ReadData为 “登录”,(sql server中的“登录”与“用户”的区别,“登录”用于用户身份验证,而"用户"账户用于数据库访问和权限验证。登录通过安全识别 符(SID) 与用户关联),以上这个sql语句使得用ReadData登录数据库并与test数据库的用户“ReadData”重新连接,这样用 ReadData登录就可以正常操作数据库了。

例如:
USE 相应数据库
go
sp_change_users_login 'update_one','GBOY','GBOY'

posted on 2021-01-08 14:52  该吃药了  阅读(1895)  评论(0编辑  收藏  举报