比較用於儲存 Blob 的選項 (SQL Server)

適用于:SQL Server (所有支援的版本)

討論並比較可用於將檔案和檔儲存在SQL Server的選項。

在資料庫中儲存檔案 - 優點和期望

大部分企業資料的本質都是非結構化,而且通常會在檔案系統中儲存成檔案和文件。 其中大多數資料是由透過 Windows API 存取檔案的應用程式所產生、管理和取用。 企業通常會將這項資料保存在檔案系統中,而將檔案的相關中繼資料儲存在關聯式資料庫中。

將非結構化資料整合至關聯式資料庫,可帶來下列優點:

  • 整合式儲存和資料管理功能,例如備份。
  • 整合式服務,例如針對資料和中繼資料進行全文檢索搜尋和語意搜尋。
  • 輕易地針對非結構化資料進行管理和原則管理。

要在關聯式資料庫中儲存非結構化資料,向來很不方便。 重寫已建立好的應用程式 (例如 Microsoft Word 或 Adobe Reader) 以透過關聯式資料庫 API 互動,是不實際的做法。 這些應用程式期望能夠透過 Windows API 存取資料。 應用程式的預期如下:

  • Windows 應用程式無法識別資料庫交易而且不需要它們。
  • Windows 應用程式需要與檔案和目錄資料的檔案系統 API 相容。

多年前,SQL Server 並未提供任何一種可在關聯式資料庫中儲存非結構化資料的方式。 但現在,確實有方法可以儲存非結構化資料了。

FILESTREAM

SQL Server已有 FILESTREAM 功能。 FILESTREAM 功能為在檔案系統上儲存成檔案的非結構化資料,提供有效率的儲存、管理及資料流處理。 不過,FILESTREAM 解決方案需要自訂程式設計,因此無法滿足上述完整 Windows 應用程式相容性的需求。

FileTable

FileTable 功能建基於現有的 FILESTREAM 功能。 FileTable 功能可讓企業客戶將非結構化檔案資料和目錄階層儲存在SQL Server資料庫中。 這項功能解決了檔案型資料的非交易式存取及 Windows 應用程式相容性問題。

比較 FILESTREAM 與 FileTable

功能 檔案伺服器和資料庫解決方案 FILESTREAM 解決方案 FileTable 解決方案
管理工作的單一本文
單一服務集合:搜尋、報表、查詢等等
整合式安全性模型
FILESTREAM 資料的就地更新
在資料庫中維護的檔案和目錄階層
Windows 應用程式相容性
檔案屬性的關聯式存取

比較 FILESTREAM 與遠端 BLOB 存放區 (RBS)

儲存非結構化資料的另一個選項是遠端 BLOB 存放區 (RBS)。 如需詳細資訊,請參閱遠端 BLOB 存放區 (RBS) (SQL Server)

相關資訊

FILESTREAM (SQL Server)
FileTable (SQL Server)
遠端 Blob 存放區 (RBS) (SQL Server)