Bobcares

How to Identify and fix Orphaned users in SQL Server?

by | Jan 28, 2021

Orphaned users in SQL Server occurs when a database user is based on login at the master database. But the login doesn’t exist at master. Normally, this happens while taking a database backup from one server and restoring it to another server (Mostly during DB migration).

Here at Bobcares, we have seen several such SQL related queries as part of our Server Management Services for web hosts and online service providers.

Today we’ll take a look at how to identify and fix Orphaned Windows users in SQL Server

 

How to identify and fix Orphaned Windows users in SQL Server

Here is the command we use to find the orphaned users in SQL Server.

USE
USER DATABASE
EXEC SP_CHANGE_USERS_LOGIN ‘REPORT’
GO

 

How to fix orphaned users in SQL Server

Now let’s take a look at how our Support Engineers fix these Orphaned users.

 

1. Using the Orphaned User ID

If we find the orphaned user then we create a login by using the orphaned user SID.

USE
MASTER
CREATE LOGIN [LoginName] WITH PASSWORD = ‘Login@12345’,
SID = 0xF0C10D1C8EDD1C40A735B07DAD54FFAE

 

2. Using update_one

We can make use of UPDATE_ONE to change the user’s SID with Logins SID.

Also, we can use this to map even if the Login name and Username are different or the same.

Now we can create a new login by running:

CREATE LOGIN [LoginName] WITH PASSWORD = ’Login@12345'

After that, we fix the orphaned user by using UPDATE_ONE.

USE
USER DATABASE
sp_change_users_login UPDATE_ONE, ‘UserName’, ‘LoginName’
GO

 

3. Using AUTO_FIX

It is possible to fix the orphaned users in two ways using AUTO_FIX.

Type 1:

We can use AUTO_FIX when the Login Name and User Name are the same.

For that, first, we create the login and then assign the Login SID to Orphan User.

CREATE LOGIN [LoginName] WITH PASSWORD = ‘Login@12345’

After that, we fix the orphaned user by using the below syntax.

USE
USER DATABASE
sp_change_users_login AUTO_FIX, ‘LoginName/UserName’
Go

 

Type 2:

We can use AUTO_FIX even without creating a login. However, LoginName and UserName should be the same.

For that, we run the below command.

USE
USER DATABASE
sp_change_users_login AUTO_FIX, ‘UserName’, NULL, ‘login@123’
GO

If the orphaned user is fixed successfully, we will not get any orphaned user (UserName and SID) when we run the below command.

USE
USER DATABASE
EXEC SP_CHANGE_USERS_LOGIN ‘REPORT’
GO

[Need any assistance with SQL queries? – We’ll help you]

 

Conclusion

Today, we saw how our Support Engineers identify Orphaned Windows Logins and Groups in SQL Server

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.