SQL Server 2008 Error 15023: User or role already exists in the current database

Source: Internet
Author: User

Fix SQL Server 2008 error 15023: User or role already exists in the current database, SQLServer2008, error 15023,
When using SQL Server 2008, we often encounter a situation where a database on one server needs to be transferred to another server. When the transfer is complete, an error often occurs when you need to associate a "user" with a "login":
"Error 15023: User or role already exists in the current database"
This problem is very difficult, after a number of reasons and solutions are found, because this problem and solution are more complex, so the process of some of the experience recorded to share with you, hope to be able to help you in the future similar operation.
The reasons and solutions are as follows:

First introduce the difference between "login" and "User" in SQL Server, "login" is used for user authentication, and the database "user" account is used for database access and permission validation. The login is associated with the user through a security identifier (SID). When you restore a database to a different server, the database contains a set of users and permissions, but there may not be a corresponding login or the user associated with the login may not be the same user. This situation is known as "orphaned users". The logon issue cannot be resolved either by creating a new login or by granting the user permission to the corresponding database for a login with the same name, because SQL Server reported "error 15023: User or role already exists in the current database", and in order to resolve this issue, the system stored procedure needs to be called Sp_change_ Users_login, the following is the specific usage:

Use Newzs
Go
Sp_change_users_login ' Update_One ', ' infos1 ', ' infos1 '

where Newzs for the existence of orphaned users of the database, Update_One is the parameters of the stored procedure, indicating that only one user is processed, the previous infos1 is "user", the latter infos1 is "login", the above SQL represents the server login "INFOS1" and Newzs database User "INFOS1" reconnect. This will allow the database to be used normally.

SQL Server 2008 Error 15023: User or role already exists in the current database

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.