如何解决SQL Server数据库的"User, group, or role already exists

问题场景

在SQL Server数据库迁移时,在另外一台服务器上恢复数据库备份文件之后,需要重新创建之前数据库上的用户帐户。在创建登录用户时,需要在User Mapping中给该用户针对具体的数据库进行授权,由于恢复出来的数据库中存在同名的用户帐户,创建时会出现"User, group, or role already exists in the current database"的错误提示。详细错误信息如下:

TITLE: Microsoft SQL Server Management Studio

------------------------------

Create failed for User 'testuser'.  (Microsoft.SqlServer.Smo)

------------------------------

ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

User, group, or role 'testuser' already exists in the current database. (Microsoft SQL Server, Error: 15023)

之前的解决方法

在创建用户帐户(或者授权)之前,先在对应的数据库中删除该同名的用户帐户。

最新的解决方法

先创建用户帐户,不进行授权,然后通过下面的SQL语句将该用户帐户关联至对应的数据库用户。优点是避免了重新授权的操作。

USE {目标数据库}
EXEC sp_change_users_login 'Update_One', '{目标数据库已存在的用户名}', '{创建的登录用户名}'

方法来源

SQL Server Forums - How to assign a login to an existing user?

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql
, 数据库
, server
, sqlserver or 问题
, 用户
, microsoft
, user
already
group already exists、already exists、table already exists、svn already exists、mysql already exists,以便于您获取更多的相关知识。

时间: 2024-11-05 06:14:35

如何解决SQL Server数据库的"User, group, or role already exists的相关文章

解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法_MsSql

SQL SERVER数据库进行备份时出现"操作系统错误5(拒绝访问).BACKUP DATABASE 正在异常终止."错误.我们应该如何解决这个问题?小编今天为大家推荐一个解决办法. 一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限:    选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated User

还原数据库备份提示:User, group, or role already exists

详细错误信息如下: TITLE: Microsoft SQL Server Management Studio ------------------------------ Create failed for User 'testuser'.  (Microsoft.SqlServer.Smo) ------------------------------ ADDITIONAL INFORMATION: An exception occurred while executing a Transa

SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法

server|备份|错误|对象|解决|数据|数据库 介绍SQL Server 数据库使用备份还原造成的孤立用户和对象名'xxx'无效的错误的解决办法          在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复.但是,此时会出现问题,这里说明几种常见问题的解决方法.一.孤立用户的问题比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立

SQL Server数据库备份还原时,提示“数据库正在使用”的解决办法

问题描述:          SQL Server数据库备份还原后,在数据库名称后会出现"受限制访问"字样 解决办法:          右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定. 问题描述:         在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权.(Micros

你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

原文:你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧 目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程.视图.函数等一系列应用方式,而当有一天它运行的正常的时候突然启动不起来了,这时候就束手无策了,能做的或许只能是重装.配置.还原等,但这一个过程其实是一个非常耗时的过程,尤其当我们面对是庞大的生产库的时候,

sql server 数据库-sql server数据库前面用的好好的昨天出现未加载包,怎么解决?

问题描述 sql server数据库前面用的好好的昨天出现未加载包,怎么解决? sql server数据库前面用的好好的昨天出现未加载包,怎么解决?请各位大神指教 解决方案 SQL Server 附加数据库时 出现错误 "无法为请求检索数据,Error:5123 " 的解决办法 解决方案二: 找到你当初安装的安装包,点击运行setup,进去后选择修复,修复后既可以了

SQL Server数据库复制失败的原因及解决方法_MsSql

在SQL Server数据库操作中,对数据库复制时出现了以下的错误,错误信息如下图所示: SQL Server数据库复制失败的原因及解决方案 出现上面的提示信息,会是什么原因导致的呢?笔者经过一番推敲终于找到了上述的原因. 原因:在复制数据库时,必须先停止mssqlserver服务,然后才能复制. 解决方法: 开始-->运行-->services.msc打开服务管理器,找到mssqlserver服务,然后停止该服务. 或者 开始-->运行-->cmd-->net stop m

SQL Server数据库复制失败的原因及解决方法

在SQL Server数据库操作中,对数据库复制时出现了以下的错误,错误信息如下图所示: SQL Server数据库复制失败的原因及解决方案 出现上面的提示信息,会是什么原因导致的呢?笔者经过一番推敲终于找到了上述的原因. 原因:在复制数据库时,必须先停止mssqlserver服务,然后才能复制. 解决方法: 开始-->运行-->services.msc打开服务管理器,找到mssqlserver服务,然后停止该服务. 或者 开始-->运行-->cmd-->net stop m

SQL Server数据库对于应用程序的关系

以下的文章主要是介绍SQL Server数据库与其实际应用元数据,我前两天在相关网站看见SQL Server数据库与其实际应用元数据的资料,觉得挺好,就拿出来供大家分享,希望会给大家带来一些帮助在此方面. 我常被问到如何把驻留在物理服务器/SQL 实例上的SQL Server数据库转变为它们相应的应用程序名称.在准备计划好的服务器停机通知时,这种需要就产生了,但在我的组织内与IT经理或非技术人员沟通时,这也是有价值的.如果你不是数据 我常被问到如何把驻留在物理服务器/SQL 实例上的数据库转变为