SQL Server - Section2 - Roles في SQL Server

Roles في SQL Server

الـ Roles في SQL Server تُستخدم لتجميع صلاحيات معينة وإعطائها لمجموعة من المستخدمين. بدلاً من منح كل مستخدم صلاحية على حدة، يمكنك إضافة المستخدم إلى Role وتمتعه بكل صلاحيات هذا الدور.


🔹 أنواع Roles في SQL Server

النوع الوصف
Fixed Server Roles تُحدد صلاحيات على مستوى السيرفر بالكامل، مثل إنشاء قواعد بيانات أو إدارة الدخول.
Fixed Database Roles تُحدد صلاحيات على مستوى قاعدة البيانات، مثل القراءة أو التعديل أو النسخ الاحتياطي.
User-Defined Roles Roles مخصصة يمكن إنشاؤها حسب الحاجة داخل قاعدة البيانات.

🧱 أمثلة على Fixed Database Roles

  • db_owner – يمتلك صلاحيات كاملة على قاعدة البيانات.
  • db_datareader – يمكنه قراءة جميع الجداول.
  • db_datawriter – يمكنه تعديل البيانات.
  • db_backupoperator – يمكنه عمل نسخ احتياطي.

🛠 إنشاء Role مخصص (User-Defined Role)


CREATE ROLE support_team;

⬅ ينشئ دور باسم support_team في قاعدة البيانات الحالية.


👤 إضافة مستخدم إلى Role


EXEC sp_addrolemember 'support_team', 'mahmoud';

⬅ يضيف المستخدم mahmoud إلى الدور support_team.


🔐 منح صلاحيات إلى Role


GRANT SELECT, UPDATE ON Customers TO support_team;

⬅ يمنح الدور support_team صلاحية SELECT و UPDATE على جدول Customers.


🧹 حذف مستخدم من Role


EXEC sp_droprolemember 'support_team', 'mahmoud';

⬅ يُزيل المستخدم mahmoud من الدور support_team.


📌 ملاحظات مهمة

  • يجب أن تكون داخل قاعدة البيانات الصحيحة عند إدارة الأدوار.
  • لا يمكن حذف دور إذا كان يحتوي على أعضاء أو صلاحيات غير مسحوبة.
  • الدور يُسهّل الإدارة المركزية للـ Permissions.

تعليقات

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

C# - Arrays

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

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