SQL Server - Section1 - ما هي Filegroups في SQL Server؟
ما هي Filegroups في SQL Server؟
في SQL Server، تُستخدم الـ Filegroups
لتنظيم وتوزيع البيانات في قاعدة البيانات عبر عدة ملفات. وهي عبارة عن حاويات منطقية لمجموعة من ملفات البيانات.
📦 لماذا نستخدم Filegroups؟
- توزيع الجداول والفهارس على أقراص مختلفة لزيادة الأداء.
- إدارة أفضل للنسخ الاحتياطية والنسخ الجزئي.
- سهولة التحكم في الملفات عند الامتلاء أو التوسعة.
✅ الأنواع الأساسية للـ Filegroups
النوع | الوصف |
---|---|
PRIMARY | هو الـ filegroup الأساسي ويحتوي على ملف .mdf ويُنشأ تلقائيًا. |
User-defined | ملف مجموعات تُنشأ يدويًا ويمكن تخزين جداول وفهارس فيها. |
FILESTREAM | مخصص لتخزين البيانات غير المهيكلة مثل الصور والفيديو. |
🧪 مثال عملي على إنشاء Filegroup
CREATE DATABASE MyDB
ON PRIMARY
(
NAME = 'MyDB_data',
FILENAME = 'D:\Data\MyDB_data.mdf'
),
FILEGROUP SalesGroup
(
NAME = 'SalesData1',
FILENAME = 'D:\Data\SalesData1.ndf'
)
LOG ON
(
NAME = 'MyDB_log',
FILENAME = 'D:\Logs\MyDB_log.ldf'
);
⬅ في هذا المثال، أنشأنا قاعدة بيانات تحتوي على:
PRIMARY
filegroup لملف البيانات الرئيسيSalesGroup
وهو filegroup إضافي- ملف سجل العمليات
.ldf
📌 تعيين جدول إلى Filegroup معين
يمكنك تحديد الـ filegroup عند إنشاء جدول كالتالي:
CREATE TABLE Orders (
OrderID int PRIMARY KEY,
OrderDate datetime
) ON SalesGroup;
⬅ هذا الجدول سيتم تخزينه داخل الـ filegroup المسمى SalesGroup
.
📝 ملاحظات مهمة:
- لا يمكن حذف الـ PRIMARY filegroup.
- يمكنك تعيين Filegroup افتراضي باستخدام الأمر:
ALTER DATABASE MyDB MODIFY FILEGROUP SalesGroup DEFAULT;
- استخدم الأمر
sys.filegroups
وsys.database_files
لمراجعة تفاصيل الملف.
تعليقات
إرسال تعليق