Каждая база данных SQL Server состоит из набора файлов операционной системы. Эти файлы могут объединяться в группы файлов, что облегчает их администрирование, помогает в размещении данных и повышает производительность.
Файл базы данных может быть либо файлом данных, либо файлом журнала. Файлы данных служат для хранения данных и объектов, таких как таблицы, индексы, представления, триггеры и хранимые процедуры. Имеется два типа файлов данных: первичные и вторичные. Файлы журналов служат только для хранения информации из журналов транзакций. Место на диске, отводимое для файлов журналов, всегда должно администрироваться отдельно от места, отводимого для данных, и никогда не должно быть частью файла данных.
Первичные файлы данных содержат всю информацию для запуска базы данных и ее системных таблиц и объектов. Они указывают на другие файлы, созданные в базе данных. Каждая база данных может иметь ровно один первичный файл. Этит файл имеет расширение .mdf.
Вторичные файлы данных не являются обязательными. Они могут хранить данные и объекты, которые отсутствуют в первичном файле. База данных может вообще не иметь ни одного вторичного файла (если все ее данные хранятся в первичном файле). Можно иметь ноль, один или несколько вторичных файлов. Вторичные файлы имеют расширение .ndf. Если в процессе использования базы данных планируется размещение ее на нескольких дисках, то в этом случае можно создать вторичные файлы базы данных. При нехватке свободного места для первичного файла базы данных добавляемая информация будет размещаться во вторичных файлах.
Файлы журналов транзакций хранят всю информацию из журнала транзакций, служащую для восстановления базы данных. Каждая база данных должна иметь хотя бы один файл журнала. Для этих файлов рекомендуется применять расширение .ldf.