用户、组或角色 在当前数据库中已存在
2014-04-04 13:15
357 查看
情况描述:sql server数据库从一台机转移到另一台机时,登录名没转移。这种情况将会产生“孤立用户”(孤立用户定义:将数据库恢复到其它服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户),此时是不能通过新建登录或者对同名登录授予对应数据库用户权限来解决下面问题。
报错信息:用户、组或角色 'XX' 在当前数据库中已存在。(Microsoft SQL Server,错误:15023)
解决办法(下面以test数据库为例,登录名为ReadData):
use test(test数据库名 右键 test数据库 新建查询)
go
sp_change_users_login 'update_one','ReadData','ReadData'
sp_change_users_login 'update_one','用户名','用户名'
2个用户名一致
说明:test为数据库名,update_one为存储过程的参数(表示只处理一个用户),前一个ReadData为“用户”,后一个ReadData为“登录”,(sql server中的“登录”与“用户”的区别,“登录”用于用户身份验证,而"用户"账户用于数据库访问和权限验证。登录通过安全识别符(SID) 与用户关联),以上这个sql语句使得用ReadData登录数据库并与test数据库的用户“ReadData”重新连接,这样用ReadData登录就可以正常操作数据库了。
报错信息:用户、组或角色 'XX' 在当前数据库中已存在。(Microsoft SQL Server,错误:15023)
解决办法(下面以test数据库为例,登录名为ReadData):
use test(test数据库名 右键 test数据库 新建查询)
go
sp_change_users_login 'update_one','ReadData','ReadData'
sp_change_users_login 'update_one','用户名','用户名'
2个用户名一致
说明:test为数据库名,update_one为存储过程的参数(表示只处理一个用户),前一个ReadData为“用户”,后一个ReadData为“登录”,(sql server中的“登录”与“用户”的区别,“登录”用于用户身份验证,而"用户"账户用于数据库访问和权限验证。登录通过安全识别符(SID) 与用户关联),以上这个sql语句使得用ReadData登录数据库并与test数据库的用户“ReadData”重新连接,这样用ReadData登录就可以正常操作数据库了。
相关文章推荐
- SQL Server中出现用户或角色在当前数据库已经存在的问题的解决
- 用户、组或角色 'zgb' 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)
- SQL 2005迁移数据库后出现错误15023:当前数据库中已存在用户或角色
- “用户、组或角色'XXX'在当前数据库中已存在”问题
- SQLServer: 解决“错误15023:当前数据库中已存在用户或角色”
- 用户、组或角色 在当前数据库中已存在
- SQL 2008R2问题:用户、组或角色'XXX'在当前数据库中已存在?
- Sql Server2005 错误15023:当前数据库中已存在用户或角色
- Sql Server2005 错误15023:当前数据库中已存在用户或角色
- sql2005错误15023:当前数据库中已存在用户或角色
- 错误15023:当前数据库中已存在用户或角色
- MSSQL 当前数据库中已存在用户或角色,SQLServer2008,错误15023,
- 当前数据库中已存在用户或角色--解决方法
- SQLServer 报错:用户、组或角色'XXX' 在当前数据库中已存在. 错误:15023解决方法
- MSSQL 2005中修改用户dbowner权限,提示用户、组或角色'*****'在当前数据库中已存在
- SQL Server把一台服务器上的数据库转移到另外一台服务器上。而转移完成后,需要给一个"登录"关联一个"用户"时,发生错误:“错误15023:当前数据库中已存在用户或角色”或“用户、组或角色 在当前数据库中已存在”
- 错误15023:当前数据库中已存在用户或角色
- 用户、组或角色 在当前数据库中已存在
- 用户、组或角色 '用户名' 在当前数据库中已存在
- 解决SQL Server 2008 错误15023:当前数据库中已存在用户或角色,SQLServer2008,错误15023 在使用SQL Server 2008时,我们经常会遇到一个