Какво е NDF файл?
Файл с разширение .ndf е вторичен файл с база данни, използван от Microsoft SQL Server за съхраняване на потребителски данни. NDF е вторичен файл за съхранение, тъй като SQL сървърът съхранява зададени от потребителя данни в основния файл за съхранение, известен като MDF. NDF файлът с данни не е задължителен и се дефинира от потребителя за управление на съхранението на данни, в случай че основният MDF файл използва цялото разпределено пространство. Обикновено се съхранява на отделен диск и може да се разпространява на множество устройства за съхранение. Наличието на MDF файлове е необходимо за отваряне на NDF файлове.
NDF файлов формат
Файловият формат NDF не се различава от MDF и използва страници като основна единица за съхранение на данни. всяка страница започва с 96 байта заглавие, което включва:
- ID на страницата
- Тип на структурата
- Брой записи в страниците
- Указатели към предишни и следващи страници
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-MB първичен файл с данни и 1-MB вторичен файл с данни.