SQL Server - Section2 - Users vs Logins – إدارة المستخدمين في SQL Server

Users vs Logins – إدارة المستخدمين في SQL Server

في SQL Server، يوجد فرق مهم بين Login و User، وغالبًا ما يتم الخلط بينهما، رغم أن كل منهما يخدم غرضًا مختلفًا في إدارة الأمان.


🔐 ما هو Login؟

الـ Login يُستخدم لتحديد هوية المستخدم على مستوى السيرفر (SQL Server instance). يعني هو بوابة الدخول إلى السيرفر.

يمكن أن يكون الـ Login مرتبطًا بحساب Windows أو يكون Login خاص بـ SQL Server.


👤 ما هو User؟

الـ User يُستخدم على مستوى قاعدة البيانات. بعد أن يتم تسجيل الدخول باستخدام Login، يجب أن يكون هناك User مرتبط به داخل قاعدة البيانات ليتمكن من تنفيذ الأوامر داخلها.


📊 جدول مقارنة بين Login و User

العنصر Login User
المستوى على مستوى السيرفر على مستوى قاعدة البيانات
الغرض السماح بالدخول إلى SQL Server السماح بتنفيذ الأوامر داخل قاعدة بيانات معينة
العلاقة يجب إنشاؤه أولاً يرتبط بـ Login

🧪 أمثلة عملية

🔹 إنشاء Login جديد:


CREATE LOGIN mahmoud WITH PASSWORD = 'StrongPassword123!';

🔹 إنشاء User مرتبط بالـ Login داخل قاعدة بيانات:


USE TestDB;
CREATE USER mahmoud FOR LOGIN mahmoud;

🔹 منح صلاحية:


ALTER ROLE db_datareader ADD MEMBER mahmoud;

🛠️ إدارة المستخدمين

  • يمكن استخدام sp_helpuser لعرض المستخدمين داخل قاعدة البيانات.
  • استخدم DROP USER أو DROP LOGIN لحذف المستخدم أو الدخول.
  • يجب أن يتم الربط بين Login و User حتى يتمكن المستخدم من العمل داخل قاعدة البيانات.

💡 ملخص

  • Login هو الباب للدخول إلى السيرفر.
  • User هو الهوية داخل قاعدة البيانات.
  • بدون Login لا يمكن الدخول، وبدون User لا يمكنك العمل داخل قاعدة البيانات.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework