簡體   English   中英

將文檔保存在SQL Server數據庫中

[英]Save document in SQL Server database

我有一個C#/ SQL Server項目。 並且可以從不同的位置訪問數據庫(在這三個位置之間沒有局域網),數據庫中的數據很重要,因此在過去30天內,我每小時都要進行恢復或數據庫恢復。

我要保存的文檔是傳真,excel,word,pdf類型的數據,並且未格式化。 因此,不可能在其中獲取數據。

問題是如何在SQL Server中存儲文檔,由於備份大小增加,我不想太大地增加其大小。

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

如果您想存儲一些東西,它將發生。 您有多個選擇:

  1. 僅將文件路徑存儲在SQL中,並將文件分別存儲在服務器上,並具有單獨的備份過程
  2. 在將文件放到sql server之前先對其進行壓縮,盡管它對於所有現成的壓縮格式(.png,office .docx,.xlsx等)都無濟於事,但它可以為您特別節省一些純文本格式的位置。
  3. 使用FILESTREAM和差異備份( 示例

類似的問題:將文件存儲在SQL Server中還是保留在文件服務器上?

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

如果所有內容都沒有更改,則無需備份所有內容,因此您只需要備份上次備份中沒有的新數據。

這樣可以節省大量空間和時間,通常是更好的做法。

我建議您考慮實施備用輪換方案。 您可以在此處找到更多信息:

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

我也建議您將文件保存在filestream數據類型字段中,以減少在mdf文件中放置大頁面對性能的影響。

如果您擔心備份的大小 -將文檔保存在文件系統和DB中僅存儲補丁。

如果您擔心備份的一致性 -將文檔存儲在數據庫中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM