2015-03-25 2 views
1

В SQL Server Management Studio я могу взять резервные копии базы данных и сохранить их в виде файлов .bak, которые также могут быть восстановлены в SQL Server Management Studio.Резервные копии MDF и LDF SQL Server

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

Thanks

ответ

3

Это зависит от ваших потребностей в восстановлении и резервного пространства. Это, конечно, можно просто прикрепить MDF и LDF файлов, но есть некоторые ограничения:

  • Вы должны отключить базу данных первых, сделайте резервную копию (оба файлов одновременно), а затем снова подсоединить. Это означает время простоя.
  • Вы не можете создавать инкрементные резервные копии.
  • Вы не можете делать дифференциальные резервные копии.
  • Вы не можете восстановить точную дату.
  • Вы в основном должны делать полную резервную копию каждый раз при копировании файлов MDF и LDF, которые могут действительно потреблять пространство (таким образом, лучше делать инкрементные или дифференциальные резервные копии).
  • SQL Server имеет встроенные механизмы, которые могут запускаться без вызова внешних скриптов для выполнения регулярных резервных копий. Резервные копии MDF и LDF требуют внешних скриптов, имеющих разрешение на доступ к каталогу данных, месту резервного копирования и серверу для присоединения/отсоединения базы данных.

В принципе, я бы сказал, что, если у вас нет повода для того, чтобы не использовать встроенную функцию резервного копирования, я бы избегал делать ручные резервные копии файлов MDF и LDF.

+0

Спасибо siride.Похоже, что полагаться на MDF и LDF не является хорошим вариантом, если база данных должна быть автономной/отсоединенной для файлов MDF и LDF, которые могут быть использованы. Вы упомянули, что SQL Server имеет встроенные механизмы для запуска регулярных резервных копий - не могли бы вы рассказать об этом? Cheers – b85411

+0

@ bh85411: сам сервер выполняет резервное копирование через команды T-SQL. См. Документы для 'BACKUP' и' RESTORE'. SSMS также имеет множество графических интерфейсов для упрощения написания сценариев и планирования. – siride

2

Резервные копии базы данных намного мощнее, чем резервное копирование файлов.

Прежде всего, если вы создаете резервную копию файлов во время работы базы данных, потому что она постоянно меняется, вы можете получить что-то, что работает, или, скорее всего, вы получите поврежденный файл. Правильная резервная копия базы данных координирует текущие изменения в процессе резервного копирования, чтобы файл резервной копии был полностью согласован. Резервная копия файла может предоставить вам файл, который имеет половину изменений в транзакции, а не другую половину, или, что еще хуже, половину изменений на определенной странице, а не другую половину.

Во-вторых, правильные резервные копии базы данных позволяют восстанавливать базу данных в ЛЮБОЙ момент времени, начиная с самой старой полной резервной копии, а не только в момент, когда была создана резервная копия. (Вам понадобится цепочка всех резервных копий журналов, сделанных с момента полной резервной копии, чтобы сделать это).

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

+0

Последнее верно, только если вы используете модели восстановления Full или Bulk-Logged. Если вы используете Simple, вы не сможете получить мгновенное восстановление, хотя вы можете восстановить его, когда была сделана последняя резервная копия, что часто бывает достаточно хорошим. – siride

0

Файлы, созданные при резервном копировании SQL Server, содержат только данные, которые не являются свободными, неиспользуемыми, пробелами. Файлы .mdf и .ndf будут содержать (иногда очень большое количество) пустое, неиспользуемое пространство, делающее эти файлы большими, чем файлы резервных копий. И вам нужно отделить базу данных от SQL Server, чтобы скопировать ее.

+0

И, кроме того, с SQL Server 2008 и более поздними версиями резервное копирование также может быть сжато - сохранение еще большего пространства –

Смежные вопросы