SQLServer2008用户组或角色'*****'在当前数据库中已存在问题的解决办法

在迁移数据库的过程中SQLServer SDE的问题
 
为一个数据库添加一个用户时,提示以下信息:
用户、组或角色 '*****' 在当前数据库中已存在。 (Microsoft SQLServer, Error: 15023)
 
问题分析:在迁移测试平台数据库的过程中发现,
在两台服务器上运行的sql server服务器之间迁移数据库的之后,
会出现一个在源服务器上可以正常的用户在目的服务器上无法登录的情况。
 
问题解决:
将数据库恢复到其他服务器时,数据库中包含一组用户和权限,
但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。
这种情况被称为存在“孤立用户”。
此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,
因为SQLServer会报出“错误15023:当前数据库中已存在用户或角色”,
为了解决这个问题,
需要调用系统存储过程sp_change_users_login,
具体用法如下:
 
1.打开SQL Server Management Studio, 
右键选择“数据库”>“新建查询”来新建一个查询。
输入以下sql脚本:
//=======================
Use [数据库名]
go
sp_change_users_login 'update_one', 'AAA', 'AAA'
//========================
接着执行脚本即可。
 
注:其中update_one是存储过程的参数,
表示只处理一个用户,前一个AAA是“用户”,
后一个AAA是“登录”,
以上这个SQL表示将服务器登录“AAA”与数据库用户“AAA”重新连接起来。

实例测试案例:
Use sde
go
sp_change_users_login 'update_one','sde','sde'

sp_change_users_login 'update_one', 'AAA', 'AAA'

就这句就搞定啦。

use cbjyq_flowdb 
go
sp_change_users_login 'update_one', 'cbjyq_flowdb', 'cbjyq_flowdb';

use sde 
go
sp_change_users_login 'update_one', 'cbjyq_flowdb', 'cbjyq_flowdb';

use cbjyq_flowdb 
go
sp_change_users_login 'update_one', 'sde', 'sde';
--the--end!

用户、组或角色 '' 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)的更多相关文章

  1. asp.net编译中出现 数据库 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test1.mdf' 已存在。请选择其他数据库名称。

    关于asp.net编译中出现数据库 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test1.mdf ...

  2. sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 然后再连接:错误:18456

    问题:sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误.(provider:命名管道提供程序,error:0-管道的另一端上无任何进程.)(Microsoft S ...

  3. 数据库 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test1.mdf' 已存在。请选择其他数据库

    关于asp.net编译中出现 数据库 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test1.md ...

  4. mdb数据库文件如何导入Microsoft SQL Server 2008中

    1.在‘开始’菜单打开‘Microsoft SQL Server 2008→SQL Server Management Studio’. 2.新建一个数据库(名称自定义),选择新建的数据库点击右键选择 ...

  5. 附加数据库时,提示“Microsoft SQL Server,错误: 5120”, 解决方案

    错误的提示内容为:

  6. 无法连接到localhost。其他信息:用户“sa”登录失败。原因:该用户被禁用。(Microsoft Sql Server,错误:18470).

    18470错误: 解决方案: 使用windows身份验证登录之后,选择安全性--->登录名--->sa--->右击--->属性: 右击选择属性进入属性页面: 选择状态,然后再登 ...

  7. 无法连接到localhost.其他信息:用户“sa”登录失败。(MicroSoft Sql Server,错误:18456)

    18456错误: 在安装的时候如果选择的身份验证模式为:Window身份验证模式,就会出现18456的错误. 解决方案: 使用windows身份验证登录之后,在下面红框上单击右键,点击属性: 点击属性 ...

  8. SQL 2008R2问题:用户、组或角色'XXX'在当前数据库中已存在?

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

  9. Microsoft SQL Server中的事务与并发详解

    本篇索引: 1.事务 2.锁定和阻塞 3.隔离级别 4.死锁 一.事务 1.1 事务的概念 事务是作为单个工作单元而执行的一系列操作,比如查询和修改数据等. 事务是数据库并发控制的基本单位,一条或者一 ...

随机推荐

  1. POJ 1509 最小表示法

    题目链接:http://poj.org/problem?id=1509 题意:给定一个字符串,求一个起点使字符串从该起点起的字符串字典序最小[题目的字符串起点从1开始] 思路:最小表示法模板题 #de ...

  2. css整理-06 表和列表

    表格式化 表布局 table, display:table caption, display: table-caption thead, display: table-header-group tbo ...

  3. PHP 配置文件详解(php.ini 详解 )

    [PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;; ...

  4. MapReduce应用案例--简单的数据去重

    1. 设计思路 去重,重点就是无论某个数据在文件中出现多少次,最后只是输出一次就可以. 根据这一点,我们联想到在reduce阶段数据输入形式是 <key, value list>,只要是k ...

  5. Backbone.js学习之一

    昨天一个我崇拜的朋友,徐飞送我一本名为<Backbone.js实战>书,让我心中狂喜,于是带着这份浓厚的兴趣,开始研究Backbone.js之路. 打开这本书的第一句话就很有哲理,“授人以 ...

  6. Tomcat在局域网中localhost可以访问,但是无法通过本地ip访问,127.0.0.1也无法访问问题的解决方法

    环境:Tomcat6,Windows Server2008 R2, Tomcat使用默认端口8080. 在BO服务器上使用Tomcat6作为WEB服务器,在服务器本地使用http://localhos ...

  7. iOS学习26之UINavigationController

    1. UINavigationController 1> 概述 UINavigationController : 导航控制器, 是 iOS 中最常用的多视图控制器之一, 用它来管理多个视图控制器 ...

  8. BZOJ4157 : 星际瘟疫

    首先剔除所有从$R$不可到达的点,然后用Lengauer-Tarjan算法建立出以$R$为起点的Dominator Tree. 那么对于每个询问,求出那些点的父亲的LCA,那么答案就是LCA到根路径上 ...

  9. Oracle 存储过程学习

    转自:http://blog.chinaunix.net/uid-20495387-id-174394.html http://www.cnblogs.com/rootq/articles/11000 ...

  10. 自定义Toast、程序退出时Toast也退出、Toast的用法

    http://blog.csdn.net/wangqilin8888/article/details/7464806 当我们在一个应用中用到Toaster来做为提示时,发现这样一个问题,当某个条件服合 ...