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