加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL Server 2008 R2错误:15023,用户,组或角色已

发布时间:2020-12-25 01:01:44 所属栏目:MsSql教程 来源:网络整理
导读:我有一个测试数据库,我有权限问题. 我无法访问报告数据库,应用程序的帮助文档说明要执行以下操作: Resolution: 1. Launch the SQL Server Management Studio and connect to the database server(s) hosting the Vision and Reporting Server databases. 2.

我有一个测试数据库,我有权限问题.
我无法访问报告数据库,应用程序的帮助文档说明要执行以下操作:

Resolution: 

1. Launch the SQL Server Management Studio and connect to the database server(s) hosting   the Vision and Reporting Server databases. 
2. Expand the security folder. 
3. Select logins and right click on the <username> user and choose properties. 
4. Click the User Mapping tab 
5.Make sure the following databases are selected in the Users mapped to this Login:

    ReportServer
    ReportServerTempDB
    Your Vision databases
    This maps the login/user to the respective databases.
6. As you select each database (including your Vision database),select the db_owner role in the Database role membership for: section. You must select this option for each database.

当我这样做时,我收到以下错误:

"Create failed for user '<servername>&;username>'.  User,group,or role '<servername>&;username>' already exists in the current database. (Microsoft SQL Server,Error: 15023)"

我用Google搜索了这个错误,并在每个数据库上尝试了以下命令:

ALTER USER [<username>] WITH LOGIN = [<username>]

该消息表明命令已成功完成,但当我尝试按照上面的说明映射每个数据库时,我仍然收到上述错误.

我错过了什么?

Per Kin的评论(谢谢)我试过这个:
– 我右键单击了用户并选择了:Script Login As>删除并创建到>新的查询窗口.
– 我运行生成的查询并尝试通过再次选择其他两个数据库和db_owner来映射用户角色,但我仍然收到与上面相同的错误消息.

思考?

解决方法

您可以尝试多种方法,每种方法的成功可能取决于您拥有的服务器角色.

对于初学者来说,如果它只是一个或两个用户,那么最简单的方法是从已恢复的数据库中删除数据库用户,并提供已有的现有服务器登录,使用SSMS将数据库用户重新映射到服务器登录.如果服务器登录不存在,那么只需创建它,映射用户,然后运行!我们走了.

下一个选项:如果要迁移大量用户,请使用sp_help_revlogin. sp_help_revlogin是Microsoft提供的存储过程,可帮助将登录从一个服务器迁移到另一个服务器,包括密码和SID.这是一篇关于SP_HELP_REVLOGIN的好文章

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读