فایل NDF چیست؟
فایلی با پسوند .ndf یک فایل پایگاه داده ثانویه است که توسط Microsoft SQL Server برای ذخیره داده های کاربر استفاده می شود. NDF یک فایل ذخیره سازی ثانویه است زیرا سرور SQL داده های مشخص شده توسط کاربر را در فایل ذخیره سازی اولیه معروف به MDF ذخیره می کند. فایل داده NDF اختیاری است و برای مدیریت ذخیره سازی داده ها در صورتی که فایل MDF اولیه از تمام فضای اختصاص داده شده استفاده کند، توسط کاربر تعریف شده است. معمولاً روی دیسک جداگانه ذخیره می شود و می تواند به چندین دستگاه ذخیره سازی پخش شود. وجود فایل های ام دی اف برای باز کردن فایل های NDF ضروری است.
فرمت فایل NDF
فرمت فایل NDF هیچ تفاوتی با MDF ندارد و از صفحات به عنوان واحد اساسی ذخیره سازی داده ها استفاده می کند. هر صفحه با هدر 96 بایت شروع می شود که شامل:
- شناسه صفحه
- نوع ساختار
- تعداد رکوردها در صفحات
- اشاره به صفحات قبلی و بعدی
ساختار فایل NDF
یک فایل MDF دارای ساختار داده زیر است.
- صفحه 0: سربرگ
- صفحه 1: اولین PFS
- صفحه 2: اولین GAM
- صفحه 3: اولین SGAM
- صفحه 4: استفاده نشده
- صفحه 5: استفاده نشده
- صفحه 6: DCM اول
- صفحه 7: BCM اول
سربرگ فایل NDF
صفحه شماره 0 همه فایل ها حاوی یک هدر است که ابرداده مربوط به فایل را ذخیره می کند.
فضای آزاد صفحه (PFS)
PFS وضعیت تخصیص را مشخص می کند و مقدار فضای آزاد را تعیین می کند.
- بیت 1: نشان می دهد که آیا صفحه تخصیص داده شده است یا خیر.
- بیت 2: نشان می دهد که آیا صفحه از وسعت مختلط است یا خیر.
- بیت 3: نشان می دهد که این صفحه یک صفحه IAM است.
- بیت 4: نشان می دهد که این صفحه حاوی رکوردهای شبح است
- بیت های 5 تا 7: یک مقدار ترکیبی سه بیتی که پر بودن صفحه را به صورت زیر نشان می دهد:
- 0: صفحه خالی است
- 1: صفحه 1 تا 50 درصد پر است
- 2: صفحه 51 تا 80 درصد پر است
- 3: صفحه 81 تا 95 درصد پر است
- 4: صفحه 96 تا 100 درصد پر است
صفحه فایل داده
صفحات موجود در فایل داده ای SQL Server از صفر شروع می شوند (0) و به صورت متوالی افزایش می یابند. هر فایل با یک شماره شناسه فایل منحصر به فرد شناسایی می شود. جفت شناسه فایل و شماره صفحه به طور منحصربفردی یک صفحه در پایگاه داده را شناسایی می کند. مثالی که شماره صفحه را در یک پایگاه داده نشان می دهد، مانند تصویر زیر است.
این مثال شماره صفحات را در پایگاه داده ای نشان می دهد که دارای یک فایل داده اولیه 4 مگابایتی و یک فایل داده ثانویه 1 مگابایتی است.
منابع
- فایلهای پایگاه داده و گروههای فایل
- [Database Detach and Attach - SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/databases/database-detach-and-attach-sql-server?view=sql-server- نسخه 15)
- Analysing SQL Server Data File Anatomy