Pages

Thursday, 2 August 2012

SQL Server:Finding the Orphaned Users

Orphaned user is a common problem in SQL server world.When I was working on internal security audit of our production servers, I realized that sp_change_users_login with report option will not work with users associated with the windows login.

Who is an Orphan Users?

An user in a database is called orphaned when the associated login does not exists in the server or login has different SID. The first scenario can happen when you delete a login from the server. For example you created a login for an employee Mydomain\Lastname.Firstname  and given access to couple of databases.Later this employee left the company or moved to different department.As a part of process we will delete his/her login (Mydomain\Lastname.Firstname) from the server. Now the databases on which he had access will have orphaned users.

The second scenario will happen when you restore the database from one environment (instance) to  another environment(instance) or when you drop the login and create it again.For example you have login Mydomain\Lastname.Firstname in two instances namely INST1 and INST2. This login has db_owner right on one of the database (MyDb) in INST1. Now you have taken backup of MyDb and restored it on the INST2 and surprisingly Mydomain\Lastname.Firstname will not be able to access the restored database. If he/she tries to access the database , SQL server throw  an error

Msg 916, Level 14, State 1, Line 1
The server principal "Mydomain\Lastname.Firstname" is not able to access the database "MyDb" under the current security context.

When you try to create a user on the restored database for Mydomain\Lastname.Firstname , it will throw an error as below
Msg 15023, Level 16, State 1, Line 1
User, group, or role ' Mydomain\Lastname.Firstname ' already exists in the current database.

This is happening because the SID of the login and user in the database is not matching. You can check this by examining the catalog views sys.server_principals and sys.database_principals.


Identifying the orphaned users

To keep the database environment clean and safe, it is important to  delete/fix the orphan users. In general ,the orphaned users created by the  first scenario(login deleted) should be deleted and orphaned users created by second scenario should be fixed. The easiest way to identify the orphaned users is , use the system procedure sp_change_users_login  with report option as given below.

EXEC SP_CHANGE_USERS_LOGIN 'Report'


But interestingly, this procedure will list only the orphaned users associated with the SQL login. If the login associated with windows login, the above procedure will not return the desired result. Let us see an example.

USE MASTER
GO
CREATE LOGIN [MyDomain\TestWindowsLogin] FROM WINDOWS
GO

USE MyDb
GO

CREATE USER Testwindows FROM LOGIN [MyDomain\TestWindowsLogin]
GO

DROP LOGIN [MyDomain\TestWindowsLogin]

Now the user Testwindows  in MyDb is an orphaned users as the login associated with it does not exists. Let us execute procedure sp_change_users_login to report the orphaned users on MyDb database.
USE MyDb
GO

EXEC SP_CHANGE_USERS_LOGIN 'Report'

This execution will not report the TestWindows user as orphaned user.  I have used the script List Orphaned Users.sql  to list the orphaned users from the all databases of an instance.In the script, I have used sp_change_users_login to list the orphaned users associated with SQL logins and custom scrip by joining sys.server_principals and sys.database_principals for orphaned users associated with windows logins.

Also note that in SQL server you can create users with out login for some special purpose. Be careful with that type users while looking for orphaned users  using the catalog view sys.server_principals and sys.database_principals. This special users can be identified by using the below query.


SELECT * FROM sys.database_principals WHERE (LEN(sid) > 16) AND TYPE IN ('S')


I will explain how to fix the orphaned users in my next post.

If you liked this post, do like my page on FaceBook 


9 comments:

  1. Wouldn't the second scenario listed above only happen for SQL Logins? If it is a Windows login the SID should be the same across the domain?

    ReplyDelete
    Replies
    1. Yes it will happen only for SQL login if the restoration is happening in same domain.

      Delete
  2. شركة نقل عفش
    اهم شركات مكافحة حشرات بالخبر كذلك معرض اهم شركة مكافحة حشرات بالدمام والخبر والجبيل والخبر والاحساء والقطيف كذلك شركة رش حشرات بالدمام ومكافحة الحشرات بالخبر
    شركة مكافحة حشرات بالدمام
    شركة تنظيف خزانات بجدة الجوهرة من افضل شركات تنظيف الخزانات بجدة حيث ان تنظيف خزانات بجدة يحتاج الى مهارة فى كيفية غسيل وتنظيف الخزانات الكبيرة والصغيرة بجدة على ايدى متخصصين فى تنظيف الخزانات بجدة
    شركة تنظيف خزانات بجدة
    شركة كشف تسربات المياه بالدمام
    شركة نقل عفش واثاث

    ReplyDelete
  3. شركة البيت السعيد للخدمات المنزلية تتشرف بتقديم خدماتها بفرع الشركة بالمنطقة الشرقية كافضل شركة تنظيف بالدمام حيث نقدم افضل خدمات تنظيف المنازل بالدمام ولانه عند الرغبة في القيام بمهام التنظيف المنزلي أو المكتبي فإن الهم الأول والأخير هو الحصول على بيئة نظيفة خالية من كافة ما يشوبها من أوساخ وتراكمات سواء كان منزلك او شقتك شركة تنظيف بالدمام
    شركة تنظيف بالخبر
    شركة تنظيف بالجبيل ولان التنظيف امر مهم جدا في حياتنا لذلك نجعل منازلنا جميله نظيفه خالية من الاتربه ، وتنظيف المنازل بصفة مستمره بالمنطقه الشرقية ( الدمام – القطيف – الاحساء – الجبيل – الخبر…) لان اهمال التنظيف يعني اهدار الحياه ، وتقدم شركة البيت السعيد خدمات التنظيف علي أيدي فريق عمل مهني وعلي قدر كافي من الخبره شركة تنظيف بالجبيل
    شركة تنظيف بالقطيف

    ReplyDelete
  4. شركة مكافحة النمل الابيض بالدمام. اهلا وسهلا بك عزيزي العميل في شركتنا شركة مكافحة حشرات بالدمام والمنطقة الشرقية ومكافحة صراصير بالأحساء التي تعد من افضل شركات مكافحة الحشرات ومن افضل الشركات اللتي تعمل فى مجال مكافحة الصرايرلان من المعروف ان الصراير من اكثر الحشرات التي تنتشر فى فصل الصيف شركة مكافحة النمل الابيض بالخبر
    شركة مكافحة النمل الابيض بالقطيف
    شركة مكافحة البق بالقطيف القضاء علي البق نهائيا وباحداث الطرق والمبيدات الامانه علي الصحه وافضل العروض واقل الاسعار من شركة الوطنية لمكافحة الحشرات بالمنطقة الشرقية ، لذا فإن الشركة تستخدم وسائل وأدوات يتم إدخالها عبر الممرات الضيقة التي تعبر منها الحشرات وتقوم برش ما يناسب هذه الحشرات والتي تعد من أفضل ما وجد بالسوق العالمي شركة مكافحة البق بالقطيف
    شركة مكافحة البق بالدمام
    شركة الوطنية لمكافحة الفئران بالخبر شركة متميزة و متخصصة بمجال ابادة و مكافحة الفئران بالخبر و الجبيل و جميع المدن و المحافظات المجاورة لها و من اهم الاعمال التي تقدمها الشركة : مكافحة الفئران و القوارض; التخلص من الفئران باستخدام اجهزة الذبذبات; استخدام السموم الفعالة لقتل الفئران; طرد الفئران. شركة مكافحة الفئران  شركة مكافحة الفئران بالخبر

    ReplyDelete
  5. خدمة 24 ساعة تخلص من أخطر أنواع الحشرات الموجودة بمنزلك بمجرد التواصل مع الوطنية لمكافحة الحشرات أفضل شركة مكافحة حشرات بالدمام بالخبر حيث نستخدم مبيدات حشرية مضمونة ومجربة وآمنه على الصغار. قدرتنا على تحمل الحشرات ليست قوية بالشكل الكافى فهى إما مزعجة أو مخربة أو أحيانا تواجدها يمثل خطورة على حياتنا بشكل مباشر من الثعابين والعقارب . شركة مكافحة الحشرات بالدمام
    شركة مكافحة الحشرات بالخبر
    شركة مكافحة حشرات بالقطيف تمنح عملائها الامان التام وتمنحهم منزل خالى من الصراصير والبق والنمل الابيض وذلك بعد استخدام خدمة شركة رش مبيدات بالقطيف باقل سعر وتوفر المعدات اللازمة للتخلص من النمل الابيض حيث أنها توفر مواد مثل البروبان والدروسبنن التي تقوم بالتخلص من تواجد اي حشرات في المنزل شركة مكافحة الحشرات بالقطيف
    شركة مكافحة النمل الابيض بالدمام
    مكافحة النمل الابيض بالدمام. تعد الوطنية أفضل شركة مكافحة النمل الأبيض بالدمام والخبر نحن متخصصون في اعمال مكافحة النمل الابيض خبرة في اعمال مكافحة حشرة النمل الابيض , قبل وبعد الانشاء, عمالة وفنيين متخصصين في اعمال مكافحة الارضة (النمل الابيض) لاننا افضل شركة مكافحة النمل الابيض بالدمام والخبر والمنطقة الشرقية شركة مكافحة الحشرات بالجبيل

    ReplyDelete
  6. شركة نظافة بالخبر تسر شركة الشرق الاوسط للنظافة العامة تعلن عن خدماتها بالخبر و الدمام و الاحساء و القطيف و المنطقة الشرقية بالمملكة العربية السعودية الخدمات العامة للنظافة بالدمام ظهور شركات تنظيف بالدمام كثيرة ومنها من ليس لة سابقة أعمال و خبرة في مجال النظافة العامة بالخبر حيث ليس اي شركة نظافة بالخبر لها القدرة علي القيام بالمهام شركة تنظيف كنب بالخبر
    تميزنا كأفضل شركة تنظيف بالخبر والدمام نقدم لكى عزيزتى كل ما تحتاجينه من خدمات النظافة و علشان كده بنقدملك عزيزتى ربة المنزل مؤسسة الشرق الأوسط لتنظيف الكنب بالخبر , من افضل الشركات التى تعمل فى مجال تنظيف الكنب داخل الخبر لما تمتكله من خبرة سنوات عديدة و عمالة فنية مدربة على اعلى مستوى و الاجهزة شركه نظافه بالخبر
    افضل شركة تنظيف منازل بالدمام خدمات شرق الاوسط مرحبا بكم في افضل شركة تنظيف بالدمام وجميع الماطق الشرقية بالمملكة والتي تشمل الدمام ,الاحساء, الجبيل, الخبر, القطيف, الجبيل, رأس ت العديد . وهي شركة واحدة بكل هذة المناطق شركة تنظيف بالدمام والمنطقة الشرقية شركه نظافه بالدمام

    ReplyDelete
  7. غسيل خزانات بالدمام
    شركة تنظيف خزانات بالخبر تعتبر المياة من أهم مصادر حياتنا كما أنها تكون عنصر و جزء رئيسى فى أى عمل نقوم بة مهما كان هين من طهى و أستحمام و شرب و غيرهم من أمور حياتنا اليومية و لهذا فإن كل شخص فينا يعمل على المحافظة عليها بالشكل و الطريقة التى يراها مناسبة و من الطرق الشائعة فى حفظ المياة هى الخزانات سواء خزانات سفلية او خزانات عليا شركه غسيل خزانات بالخبر
    شركة تنظيف خزانات بالدمام اهلا وسهلا بك عزيزى العميل ، هل لديك خزانات مياه ؟ ترد تنظيفة وتعقيمة من الجراثيم والميكروبات ؟ هل ترد الحصول على شركة موثوقة فى اعمال تنظيف وتعقيم خزانات المياه نعم عزيزى العميل انتا الان فى المكات الصحيح تعتبر شركة الشرق الاوسط للخدمات المنزلية من افضل شركات تنظيف و عزل الخزانات بالدمام  تنظيف خزانات بالدمام
    تنظيف خزانات بالخبر
    غسيل خزانات بالخبر

    ReplyDelete
  8. شركة مكافحة البق بالدمام هل تعاني من حشرة البق؟ هل يشكل بق الفراش ازعاج كبير لك؟ هل تشكل حشرة البق خطورة كبيرة عليك وعلى اسرتك واطفالك!؟ هل تريد التخلص من بق الفراش؟ هل تبحث عن الحلول الممكنة للقضاء على البق وتجنب الاصابة ببق الفراش؟ كل هذة الاسئلة سوف يتم الرد عليها من خلال خبراء افضل شركة مكافحة البق بالدمام وجميع مدن المنطقة الشرقية
    شركة مكافحة النمل الابيض بالدمام
    شركة مكافحة النمل الابيض بالقطيف
    شركة رش مبيدات بالدمام شركة مكافحة النمل الابيض بالقطيف. لا شك ان وجود الحشرات فى المنزل يسبب قلقا بالغا مما يستدعى الاستعانه ب افضل شركه مكافحه حشرات بالدمام التى تقدم خدمات مكافحه الحشرات ورش المبيدات الحشريه ب افضل الطرق واحدث المعدات التى تضمن القضاء النهائى والفعلى على الحشرات بمختلف انواعها وهذا ما يميز مؤسسة انوار طيبة

    ReplyDelete