Сохранить документ в базе данных SQL Server - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть проект на C # / SQL Server. и база данных доступна из разных мест (между этими 3 местами нет доступа), и данные в базе данных важны, поэтому я беру восстановление или мою базу данных каждый час в течение последних 30 дней.

Документы, которые я хочу сохранить, являются типом данных по факсу, Excel, Word, PDF и не отформатированы. Поэтому невозможно получить данные внутри них.

Проблема в том, как я могу хранить документы в SQL Server. Я не хочу так сильно увеличивать его размер из-за увеличения размера резервной копии.

Так, каково эффективное решение?

Ответы [ 3 ]

2 голосов
/ 18 февраля 2012

Если вы хотите что-то сохранить, это произойдет.У вас есть несколько вариантов:

  1. Хранить только путь к файлу в SQL и хранить файлы отдельно на сервере и иметь отдельный процесс резервного копирования для них
  2. Сжать файлы перед их помещением на сервер SQL, это будетсэкономить вам место, особенно с простыми текстовыми форматами, хотя это не поможет с уже сжатыми форматами (.png, office .docx, .xlsx и т. д.)
  3. Использование FILESTREAM и разностного резервного копирования ( Пример)

Аналогичный вопрос: Сохранить файлы на SQL Server или сохранить их на файловом сервере?

2 голосов
/ 18 февраля 2012

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

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

Это сэкономит вам много места и времени и, как правило, будет лучше.

Я бы посоветовал вам рассмотреть возможность использования схемы ротации резервных копий. Вы можете найти больше информации об этом здесь:

http://en.wikipedia.org/wiki/Backup_rotation_scheme

Я бы также предложил вам сохранить файл в поле типа данных filestream, чтобы уменьшить влияние на производительность больших страниц в файле mdf.

0 голосов
/ 18 февраля 2012

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

Если вы беспокоитесь о непротиворечивости резервных копий - храните документы в БД

...