【SQLSERVER】用户、组或角色在当前数据库中已存在

tanglu 464 2021-07-23

问题背景

SQL Server的权限分配和MySQL区别比较大,今天在安全性-登录名中对一个已经存在的数据库账号赋予某个库权限的时候,报出了错误"用户、组或角色 '' 在当前数据库中已存在"。根据查询资料得知可能是因为存在孤立用户,出现孤立用户一般是说明登录名所关联的用户可能不是相同的用户,此时不能通过新建登录名或者是对同名登录授予对应数据库的“用户”权限。为了能够使数据库账号顺利的赋权访问该数据库,可以采用Sqlserver内置的系统存储过程sp_change_users_login来解决此问题。

解决方法

登录到Sqlserver管理工具执行以下语句

Use [数据库名]
go
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'

#举个例子,将linuxe数据库中的tanglu用户与登录名tanglu相关联

Use linuxe
go
exec sp_change_users_login 'UPDATE_ONE','tanglu','tanglu'


版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【MySQL运维】临时关闭binlog进行特殊操作
下一篇:【MySQL运维】使用SQLAdvisor工具优化索引
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码