Что такое формат файла NDF?
.ndf - это вторичный файл данных, используемый Microsoft SQL Server для хранения содержимого реляционных баз данных. Он расширяет базу данных за пределы её основного файла .mdf, обычно для распределения данных по нескольким физическим дискам с целью повышения пропускной способности ввода-вывода или для обхода ограничений на размер одного файла. База данных может иметь ноль или несколько файлов .ndf; они всегда являются необязательными.
Внутренне файлы .ndf используют тот же бинарный формат на основе страниц размером 8 КБ, что и основные файлы .mdf. Каждая страница пронумерована и классифицирована по типу: страницы данных содержат строки таблиц, страницы индексов содержат структуры индексов B-дерева, а страницы распределения (PFS, GAM, SGAM) отслеживают свободное место. Страницы группируются в экстенты по 64 КБ, состоящие из 8 смежных страниц. Дополнительное сжатие на уровне страниц (сжатие строк или страниц, SQL Server 2008+) и прозрачное шифрование данных (TDE, AES-128/256) применяются к файлам .ndf так же, как и к .mdf.
Файл .ndf невозможно открыть или восстановить изолированно - SQL Server должен подключить его вместе с основным файлом .mdf и журналом транзакций .ldf как единое целое базы данных. Максимальный размер файла составляет 16 ТБ в SQL Server 2016 и более поздних версиях.
Формат был официально представлен в SQL Server 7.0 (1998), и внутренний формат страниц с тех пор практически не изменился. SQL Server 2017 расширил поддержку на Linux и контейнерные среды, используя тот же формат файлов.
Безопасность и защита
РИСК: LOWФайлы данных SQL Server являются пассивными хранилищами бинарных данных. Основной риск связан с конфиденциальностью - файлы NDF могут содержать конфиденциальное содержимое базы данных. Если файл обнаружен в системе неожиданно, проверьте базу-источник перед передачей. Файлы NDF, зашифрованные с помощью TDE, требуют ключ шифрования для доступа.
Детали формата
в двух словах- Файл базы данных Navision (старые версии Microsoft Dynamics NAV) - .ndf использовался в качестве расширения нативного файла базы данных в старых установках Microsoft Navision/Dynamics NAV до миграции на SQL Server.
Программы, открывающие файлы NDF
Технические подробности
глубокая спецификация| Разработчик | Microsoft Corporation |
| Кодировка | Бинарная (little-endian) |
| Размер страницы | 8 КБ (8 192 байта) на страницу - внутренний формат идентичен основным файлам MDF |
| Размер экстента | 64 КБ (8 смежных страниц по 8 КБ) |
| Типы страниц | Данные, индексы, LOB/текст, PFS, GAM, SGAM, IAM и страницы заголовка файла |
| Сжатие | Опционально - сжатие строк или страниц (SQL Server 2008+, редакции Enterprise и Developer) |
| Шифрование | Опционально - прозрачное шифрование данных (TDE), AES-128 или AES-256 (SQL Server 2008+) |
| Целостность страниц | PAGE_VERIFY CHECKSUM по умолчанию начиная с SQL Server 2005; хранится в 96-байтовом заголовке страницы |
| Максимальный размер файла | 16 ТБ (SQL Server 2016+) |
| Прирост авторасширения по умолчанию | 64 МБ на событие (SQL Server 2012+) |
| Платформа | Windows; Linux (SQL Server 2017+); Docker и контейнерные среды |
| Зависимость | Не может быть открыт отдельно - должен быть подключен вместе с основным файлом .mdf и файлом лога .ldf |
| Представлен | SQL Server 7.0 (1998) - в этой версии была официально закреплена конвенция вторичных файлов данных |
| Выпущен | SQL Server 7.0 (1998) - NDF extension formalised; data page format consistent since SQL Server 7 |
| Последняя версия | SQL Server 2022 (v16); page format essentially unchanged since SQL Server 7 |
| Спецификация | learn.microsoft.com |
Конвертации NDF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах NDF.