2012-02-18 69 views
0

我有一個C#/ SQL Server項目。和數據庫是從不同的地方(這3個地方之間沒有局域網)到達和數據庫中的數據是重要的,所以我正在恢復或我的數據庫在過去30天每小時。將文檔保存在SQL Server數據庫中

我想保存的文件是傳真,excel,word,pdf類型的數據,沒有格式化。所以它不可能獲得數據。

問題是如何將文檔存儲在SQL Server中我不想因爲增加備份大小而增加其大小。

那麼有效的解決方案是什麼?

回答

2

看起來您的主要問題似乎是備份的大小。如果您每小時執行一次完全備份備份,則可以通過執行差異備份來節省空間。

如果沒有更改所有內容,則不需要備份所有內容,因此您只需要備份尚未進行上次備份的新數據。

這將爲您節省大量的空間和時間,通常是更好的做法。

我建議你考慮實施備份輪換計劃。你可以找到關於此位置的詳細信息:

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

我也要建議你保存在FILESTREAM數據類型字段的文件,以減少其在MDF文件大頁面的性能影響。

+0

謝謝,我認爲文件流對我來說是最好的解決方案。讓我試試看。如果我能達到我想要的, 我會分享我的solutuon。 – Rapunzo 2012-02-18 08:39:52

0

如果您擔心備份大小 - 將文檔保存在文件系統和數據庫中僅存儲修補程序。

如果你擔心備份一致性 - 數據庫

+0

是的問題主要是大小。我無法將它保存在文件系統中,因爲我沒有在這三個地方之間建立VPN連接。 – Rapunzo 2012-02-18 07:40:46

+0

您不需要 - 將文件存儲在服務器上的文件系統中。也許你可能想使用一些自定義的CLR函數來保存/返回文件系統的文件內容, – 2012-02-18 08:10:21

2

如果你想存儲的東西它會發生內部存儲文檔。您有多個,選項:

  1. 只儲存文件中的SQL和存儲文件seperatly服務器和路徑有單獨的備份過程,他們把他們給SQL Server之前
  2. 壓縮文件,它會特別是具有節省一些地方用純文本格式,但它不會與媒體鏈接壓縮格式(巴紐,辦公.DOCX,.XLSX等)
  3. 使用FILESTREAM備份和差異備份(Example

類似的問題有所幫助:Store Files in SQL Server or keep them on the File Server?

+0

我認爲第一種方式是最好的 – yapingchen 2012-02-18 08:04:10

相關問題