共用方式為


FileTable (SQL Server)

FileTable 功能可將 Windows 檔案命名空間的支援以及與 Windows 應用程式的相容性提供給儲存在 SQL Server 中的檔案資料。 FileTable 可讓應用程式整合其儲存和資料管理元件,並且透過非結構化資料和中繼資料提供整合式 SQL Server 服務 (包含全文檢索搜尋和語意搜尋)。

換句話說,您可以將檔案和文件儲存在 SQL Server 的特殊資料表 (稱為 FileTable) 中,而從 Windows 應用程式存取它們,就像它們儲存在檔案系統中一樣,並不需要對用戶端應用程式進行任何變更。

FileTable 功能是根據 SQL Server FILESTREAM 技術所建立。 若要了解有關 FILESTREAM 的詳細資訊,請參閱<FILESTREAM (SQL Server)>。

本主題內容

  • FileTable 功能的優點

  • 何謂 FileTable

  • 使用 FileTable 的額外考量

    • 管理考量

    • FileTable 不支援記憶體對應檔案

  • 相關工作

  • 相關內容

FileTable 功能的優點

FileTable 功能的目標包括:

  • 儲存在 SQL Server 資料庫內檔案資料的 Windows API 相容性。 Windows API 相容性包括下列項目:

    • FILESTREAM 資料的非交易式資料流存取和就地更新。

    • 目錄和檔案的階層式命名空間。

    • 檔案屬性的儲存,例如建立日期和修改日期。

    • Windows 檔案和目錄管理 API 的支援。

  • 與其他 SQL Server 功能的相容性,包括針對 FILESTREAM 和檔案屬性資料進行的管理工具、服務和關聯式查詢功能。

因此,FileTable 會移除一道重大障礙,可讓您使用 SQL Server 來儲存和管理目前位於檔案伺服器上之檔案的非結構化資料。 企業可以將這項資料從檔案伺服器移入 FileTable,以便運用 SQL Server 所提供的整合式管理和服務。 同時,企業可以針對將這項資料視為檔案系統中之檔案的現有 Windows 應用程式,維持 Windows 應用程式相容性。

[回到頁首]

何謂 FileTable

對於需要將檔案和目錄儲存在資料庫中、具備 Windows API 相容性和非交易式存取的應用程式而言,SQL Server 提供特殊的**「檔案資料表」** (也稱為 FileTable)。 FileTable 是包含預先定義結構描述的特殊化使用者資料表,可儲存 FILESTREAM 資料、檔案和目錄階層資訊,以及檔案屬性。

FileTable 提供了下列功能:

  • FileTable 代表目錄和檔案的階層。 它會儲存與該階層中所有節點相關的資料 (目錄以及它們所包含的檔案)。 這個階層是從您建立 FileTable 時指定的根目錄開始。

  • FileTable 中的每個資料列都代表一個檔案或目錄。

  • 每個資料列都包含下列項目。 如需有關 FileTable 結構描述的詳細資訊,請參閱<FileTable 結構描述>。

    • 資料流資料的 file_stream 資料行和 stream_id (GUID) 識別碼 (目錄的 file_stream 資料行為 NULL)。

    • 用於代表和維護檔案與目錄階層的 path_locatorparent_path_locator 資料行。

    • 檔案 I/O API 可用的 10 個檔案屬性,例如建立日期和修改日期。

    • 支援針對檔案和文件進行全文檢索搜尋和語意搜尋的類型資料行。

  • FileTable 會強制執行特定系統定義的條件約束和觸發程序來維護檔案命名空間語意。

  • 當您針對非交易式存取設定資料庫時,就會透過針對 SQL Server 執行個體所設定的 FILESTREAM 共用來公開以 FileTable 表示的檔案和目錄階層。 這會提供 Windows 應用程式的檔案系統存取。

FileTable 的某些其他特性包括:

  • 儲存在 FileTable 中的檔案和目錄資料會透過 Windows API 架構應用程式之非交易式檔案存取的 Windows 共用公開。 針對 Windows 應用程式,這看起來就像含有其檔案和目錄的一般共用。 應用程式可以使用一組豐富的 Windows API,來管理此共用下的檔案和目錄。

  • 透過此共用顯示的目錄階層就是在 FileTable 內部維護的單純邏輯目錄結構。

  • SQL Server 元件會攔截透過 Windows 共用建立或變更檔案或目錄的呼叫,然後將它們反映在 FileTable 的對應關聯式資料中。

  • Windows API 作業的本質為非交易式,而且並未與使用者交易相關聯。 不過,系統完全支援儲存在 FileTable 中之 FILESTREAM 資料的交易式存取,就如同一般資料表中的任何 FILESTREAM 資料行。

  • FileTable 也可以透過一般 Transact-SQL 存取進行查詢和更新。 它們也會與 SQL Server 管理工具和備份等功能整合。

[回到頁首]

使用 FileTable 的額外考量

管理考量

關於 FILESTREAM 和 FileTable

  • 您可以分別設定 FileTable 與 FILESTREAM。 因此,您可以繼續使用 FILESTREAM 功能,而不需要啟用非交易式存取或建立 FileTable。

  • 除了透過 FileTable 以外,沒有 FILESTREAM 資料的非交易式存取。 因此,當您啟用非交易式存取時,並不會影響現有 FILESTREAM 資料行和應用程式的行為。

關於 FileTable 和非交易式存取

  • 您可以在資料庫層級中啟用或停用非交易式存取。

  • 您可以在資料庫層級中設定或微調非交易式存取,方法是關閉它,或是啟用唯讀或完整讀取/寫入存取。

[回到頁首]

FileTable 不支援記憶體對應檔案

FileTable 不支援記憶體對應檔案。 記事本和小畫家是使用記憶體對應檔案的兩個常見的應用程式例子。 不能在 SQL Server 所在的電腦上使用這些應用程式來開啟儲存在 FileTable 中的檔案。 但是,可以從遠端電腦使用這些應用程式來開啟儲存在 FileTable 中的檔案,因為在這些情況下不使用記憶體對應功能。

[回到頁首]

相關工作

[回到頁首]

相關內容

[回到頁首]