首页 > 数据库 >用户、组或角色 'xxx 在当前数据库中已存在 Microsoft SQL Server,错误: 15023

用户、组或角色 'xxx 在当前数据库中已存在 Microsoft SQL Server,错误: 15023

时间:2024-04-01 14:44:44浏览次数:35  
标签:XXX 登录 15023 xxx 用户 Server SQL 数据库

为一个数据库添加一个用户或者映射数据库时,提示以下错误信息:
用户、组或角色 ***** 在当前数据库中已存在。 (Microsoft SQLServer, 错误 : 15023)

问题原因:在还原数据库的过程中,在其它sql server服务器上进行还原之后,会出现一个在原服务器上可以正常的用户在目标服务器上出现无法登录的使用。

 

首先介绍一下sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户

 

解决方法:
当数据库恢复到其他服务器时,原数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况可能会出现上面的问题。该问题是无法通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题。由于SQLServer会提示“错误15023:当前数据库中已存在用户或角色”,要解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下:

1.打开SQL Server Management Studio, 右键选择“数据库”>“新建查询”
执行以下sql脚本:

Use BBBBBBB
go
sp_change_users_login update_one, XXX, XXX

 

其中update_one是存储过程的参数,表示只处理一个用户,前一个XXX是“用户”,后一个XXX是“登录”,以上这个SQL表示将服务器登录“XXX”与数据库用户“XXX”重新关联。

 

标签:XXX,登录,15023,xxx,用户,Server,SQL,数据库
From: https://www.cnblogs.com/xiaoyou2018/p/18108377

相关文章

  • SQLserver 根据表名 转实体类
     declare@TableNamesysname='T1'declare@Resultvarchar(max)='///<summary>///'+@TableName+'///</summary>publicclass'+@TableName+'{'select@Result=@Result+'///<su......
  • 解决 java.sql.SQLException:null,message from Server:"Host 'xxx' is not allowed t
    问题:url中机器地址写127.0.0.1或是localhost时不会发生,但写真实IP就出现此异常,即使从本机运行也会出此错。解决方法:在MySQL控制台,执行以下命令:mysql>usemysql;Databasechangedmysql>updateusersethost='%'whereuser='root';QueryOK,1rowaffected(0.04sec)......
  • MySQL如何解决Host is not allowed to connect to this MySQL server
    在运行Androidstudio时,日志中报错HostisnotallowedtoconnecttothisMySQLserver, 解决方案:1、登录MySQL控制台:在电脑下方搜索 2、选择上图中Unicode3、输入MySQL密码4、根据命令mysql>usemysql;Databasechangedmysql>updateusersethost='%'whereuser......
  • SQL SERVER 从入门到精通 第5版 第二篇 核心技术 第5章 读书笔记
     第五章SQL基础 P63.SQL概述>.SQL的组成>.数据定义语言(datadefinitionlanguage,DDL):用于在数据库系统中,对数据库,表,视图,索引等数据库对象进行创建和管理>.数据控制语言(datacontrollanguage,DCL):实现对数据库中数据的完整性,完全性等的......
  • Docker 安装 GeoServer
    使用Docker安装GeoServer是一个更为便捷和灵活的方式,以下是在Linux上通过Docker安装GeoServer的简要步骤:安装Docker:如果您的系统还没有安装Docker,可以按照Docker官方文档(https://docs.docker.com/get-docker/)的指引进行安装。拉取GeoServer镜像:使用以下......
  • MySQL数据库报错:The server quit without updating PID file (/var/lib/mysql/your-h
    在MySQL安装或初次配置过程中,遭遇报错是很常见的一件事,它可能会使你的安装进程暂时停滞。本文将深入探讨一个具体的安装错误,涵盖错误信息、可能的原因,以及详细的解决方案,旨在帮助你高效地解决这一挑战。错误描述安装MySQL过程中,你可能会碰到以下错误信息:Theserverquit......
  • 安装并使用 Ubuntu Server 的一些注意事项
    最近,刚安装UbuntuServer22.04.4LTS版本,遇到些问题,记录其解决方案以备忘。 1)断网安装UbuntuServer系统采用USB启动盘,安装UbuntuServer时,一定要断网,因为连接互联网,安装UbuntuServer系统时,会自动下载更新,等待时间很可能会比较长,而断网会秒级安装,之后根据提示,重启......
  • 数据库原理与应用(SQL Server)笔记——第三章 关系数据库规范化
    目录一、关系数据库设计理论二、关系模式的形式化表示三、函数依赖四、关系模式规范化(一)规范化目的(二)范式(三)范式化过程一、关系数据库设计理论函数依赖、范式和模式设计是关系数据库设计理论中的主要内容,其中函数依赖起到核心作用,范式用来描述数据库结构的标准化程......
  • SQL Server 附加数据库提示5120错误
    SQLServer附加数据库提示5120错误怎么样是不是跟你的错误是一样的,心里是不是有点小激动?T_T终于有办法了!!!! 第一步先关掉你的SQLserver然后在菜单上找找到SQLSERVER右键选择“以管理员运行” 第二步给你的数据库文件所在文件夹给上“读取,写入”的权限。在附加数据库......
  • centos7提示 file /root/.serverauth.13703 does not exist
    情况背景:安装虚拟数据服务器,使用系统为centos7,安装完成后,开始安装图形化程序,在虚拟服务器上一切正常,输入startx也会正常显示图形操作界面问题来源:现在通过其他电脑远程连接虚拟数据服务器,输入地址进入也是正常,但是输入“startx”命令后就显示失败代码,无法进入图形操作界面,如......