2012-02-18 4 views
0

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

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

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

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

ответ

2

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

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

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

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

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

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

+0

спасибо, я думаю, что фильтр для чтения - лучшее решение для меня. позвольте мне попробовать. ı поделится своим solutuon, если я смогу добиться того, чего хочу. – Rapunzo

0

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

Если вы тревожитесь о подпорке консистенция - хранить документы внутри DB

+0

есть проблема в основном размер. и я не могу сохранить его в файловой системе, потому что у меня нет связи vpn между этими 3-мя местами. – Rapunzo

+0

Вам не нужно - хранить файлы в файловой системе на сервере. Вероятно, вы можете использовать некоторые пользовательские функции CLR для сохранения/возврата содержимого файлов в/из файловой системы, –

2

Если вы хотите сохранить что-то это будет иметь место. У вас есть несколько всячески манипулировать:

  1. Хранить только путь к файлу в SQL и хранить файлы seperatly на сервере и имеют индивидуальный процесс резервного копирования для их
  2. Сжать файлы перед помещением их в SQL Server, это сэкономит вам какое-то место Especialy с простые форматы текста, хотя это не поможет с Allready сжатых форматов (png, офис DOCX, XLSX и так далее)
  3. Использование FILESTREAM и дифференциальное резервное копирование (Example)

Похожий вопрос: Store Files in SQL Server or keep them on the File Server?

+0

Я думаю, что первый способ лучше всего – yapingchen

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