【SQLSERVER】用户、组或角色在当前数据库中已存在
问题背景
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'
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论