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.
تعليقات
إرسال تعليق