Зачем нам нужны вторичные файлы данных в SQL Server?

Я всегда игнорирую эту опцию при создании новой базы данных на SQL Server 2005 просто потому, что мы можем игнорировать то, что мы не понимаем, и оставить все как есть. (Я не так в DBA)

так что теперь мне интересно, что это такое.

Исходя из вашего опыта, когда вы думаете, что нам нужно добавить вторичные файлы данных в мою базу данных и зачем нам это нужно?

3 ответа

Решение

Во многих случаях это может быть полезно - для начала, из соображений доступности всегда лучше хранить только системные данные в первичном файле данных (с Sql2k5 и выше, при условии, что первичный файл данных доступен, базу данных можно подключить к сети, что позволяет вам восстанавливать / восстанавливать / и т. д. несистемные данные, имея при этом как можно больше онлайн). Некоторые другие случаи использования вторичного файла (ов):

  1. Распределение данных между несколькими LUN
  2. Разрешение частичного/ файлового резервного копирования / восстановления
  3. Сегментирование разных типов доступа для чтения / записи по разным LUN (т. Е. Последовательный или случайный)

Помимо аспектов производительности, уже упомянутых в других ответах здесь, есть и проблема безопасности.

Представления каталога базы данных (которые отслеживают таблицы, столбцы, разрешения и все такое системное содержимое) всегда находятся в первичном файле данных, и вы не можете это изменить.

Если вы можете отделить эти данные системного каталога в первичном файле данных и поместить свои пользовательские данные во вторичный файл, первичный файл будет меньше, его будет намного меньше обновлений и вставок, и, следовательно, вероятность повреждения, например, из-за плохого диска сектор минимизирован.

Если ваши представления системного каталога (и их базовые таблицы) повреждены или уничтожены, вся ваша база данных будет слишком большой, поэтому вы определенно хотите иметь наименьший шанс повредить этот первичный файл данных.

Это, вероятно, не большая проблема в базе данных меньшего и среднего размера, но это может быть вопросом, который следует рассмотреть в более крупной установке.

Одна из главных причин - ввод / вывод. Возможность разбивать ваши данные означает, что ввод / вывод теперь распределен по нескольким дискам / лунам / и т. Д. что может существенно повысить производительность.

Другие вопросы по тегам