Microsoft SQL Server,错误: 15023

数据库问题

        在使用SQL Server 时,我们经常会遇到一个情况:需要把一台服务器上的数据库转移到另外一台服务器上。而转移完成后,需要给一个"登录"关联一个"用户"时,往往会发生错误:

      “错误15023:当前数据库中已存在用户或角色”

        这个问题非常棘手,几经排常找到了原因与解决方法,因为这个问题与解决方法均比较复杂,所以把这个过程中的一些经验纪录下来与大家分享,希望能对大家以后的类似操作有所帮助。

        原因及解决办法如下:

        首先介绍一下sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况被称为存在“孤立用户”。此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,因为SQL Server会报出“错误15023:当前数据库中已存在用户或角色”,为了解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下:

Use Sample

go
sp_change_users_login 'update_one', 'lc001', 'lc001'

        其中Sample为存在孤立用户的数据库,update_one是存储过程的参数,表示只处理一个用户,前一个lc001是“用户”,后一个lc001是“登录”,以上这个SQL表示将服务器登录“lc001”与 Sample数据库用户“lc001“重新连接起来。这样就可以正常使用数据库了

猜你喜欢

Microsoft SQL Server,错误: 15023

2021-01-21

在使用SQL Server 时,我们经常会遇到一个情况:需要把一台服务器上的数据库转移到另外一台服务器上。而转移完成后,需要给一个

源文件方式恢复mysql数据库(适用虚拟主机、云主机)

源文件方式恢复mysql数据库(适用虚拟主机、云主机)

2020-04-05

Mysql数据库转移有很多种处理办法,总结起来也就是两种,一种是用sql语句,这个方式是通用的(http://www.scvps.cn/faq/list.asp?unid=423),另外一种就是用源文件,最简单便捷的无疑是直接用数据库源文件来恢复,

mysql数据库新建/备份/还原/导入/导出(一

2020-03-20

mysql数据库新建/备份/还原/导入/导出(一个数据库)答:常规的mysql管理功能,启动、新建、备份、还原、导入、导出。涉及内容较多但并不复杂,建议按“相关教程”下文档自行处理。若确实需要我司处理,将会收取一定

如何管理MySQL数据库?

如何管理MySQL数据库?

2020-03-19

A:MYSQL数据库的管理方式如下: 首先下载PhpMyAdmin软件,将此文件包解压,找到其中的一个文件:config.inc.php(或者如config.*等, 该文件名会因phpmyadmin版本不同, 而有所差别)修改以下配置:$cfgServers[1]['host']

[原创]如何将Mysql数据库如4.0X版升级为4.1/5.x版?

2020-03-18

问:我原来的discuz论坛用的是php4.4+mysql4.0.18的数据库,现在购买了你们的空间,服务器是php5.0+mysql5.0的.我直接把mysql数据库的源文件导进来以后,发现论坛全部显示????的乱码,请问如何解决?答:myqsl4.0.x

网站管理助手创建mysql数据库失败

网站管理助手创建mysql数据库失败

2020-03-16

1.创建mysql时提示:图(一)为助手3.0报错图(二)为助手4.0报错原因是mysql服务不能正常启动,请参考http://www.west.cn/faq/list.asp?unid=567检查处理,若非常规原因导致mysql无法启动,请提交工单我们检查.mysql正常启

X
返回
顶部