共用方式為


FILESTREAM 和 FileTable 搭配 AlwaysOn 可用性群組 (SQL Server)

本主題包含有關在 SQL Server 2014 中使用 FILESTREAM 和 FileTable 功能與 AlwaysOn 可用性群組的相關信息。

支援所有 FILESTREAM 功能。 在容錯移轉之後,可讀取的次要複本以及新的主要複本上的 FILESTREAM 資料皆可供存取。

僅部分支援 FileTable 功能。 故障轉移之後,主要復本可存取 FileTable 資料,但可讀取次要復本無法存取 FileTable 資料。

本主題內容:

先決條件

  • 將使用 FILESTREAM (包含或不含 FileTable) 的資料庫加入至可用性群組之前,請確定裝載可用性群組之可用性複本的每個伺服器執行個體都啟用了 FILESTREAM。 如需詳細資訊,請參閱 Enable and Configure FILESTREAM

使用虛擬網路名稱 (VNN) 進行 FILESTREAM 和 FileTable 存取

當您在 SQL Server 執行個體上啟用 FILESTREAM 時,就會建立執行個體層級共用,以便讓您存取 FILESTREAM 資料。 您可以依照下列格式使用電腦名稱來存取這個共用:

\\<computer_name>\<filestream_share_name>

不過,在 AlwaysOn 高可用性群組中,電腦名稱會透過虛擬網路名稱(VNN)進行虛擬化。 當電腦是可用性群組中的主要複本,而且可用性群組中的資料庫包含 FILESTREAM 資料時,系統也會建立 VNN 範圍的共用,讓您存取 FILESTREAM 資料。 這不會影響 Transact-SQL 對 FILESTREAM 資料的存取。 不過,使用檔案系統 API 的應用程式必須使用 VNN 範圍的共用,其路徑採用下列格式:

\\<VNN>\<filestream_share_name>

發生下列其中一個事件時,系統就會建立這個 VNN 範圍的共用。

  • 您可以將包含 FILESTREAM 數據的資料庫新增至主要復本上的 AlwaysOn 可用性群組。 在此情況中,該 \\<computer_name>\<filestream_share_name> 共用已經存在。 系統會建立 \\<VNN>\<filestream_share_name> 共用。

  • 您在具有可用性群組的主要複本上啟用 FILESTREAM,以便進行檔案 I/O 串流存取。 系統會建立下列共用:

    1. \\<computer_name>\<filestream_share_name>

    2. \\<VNN1>\<filestream_share_name> (可用性群組 1)。

    3. \\<VNN2>\<filestream_share_name> (可用性群組 2)。

這些 VNN 範疇的股份也會分發至所有次要副本。

當包含 FILESTREAM 或 FileTable 資料的資料庫屬於 AlwaysOn 可用性群組時:

  • FILESTREAM 和 FileTable 函數會接受或傳回虛擬網路名稱 (VNN) 而非電腦名稱。 如需有關這些函式的詳細資訊,請參閱 Filestream 和 FileTable 函式 (Transact-SQL)

  • 透過檔案系統 API 對 FILESTREAM 或 FileTable 資料進行的所有存取都應該使用 VNN 而非電腦名稱。

當資料庫屬於可用性群組的一部分時,如果您的應用程式嘗試依照 \\<computer_name>\<filestream_share_name> 格式使用電腦名稱來存取共用,就會引發錯誤。

如果您的應用程式嘗試在資料庫不屬於可用性群組時使用 VNN 範圍路徑來存取共用,則要求可能會成功。 在此情況中,虛擬網路名稱會解析成電腦名稱。 不過,強烈不建議使用此使用方式,因為如果移除可用性群組,VNN 範圍的路徑將停止運作。

相關工作

相關內容

沒有。

另請參閱

AlwaysOn 可用性群組概觀 (SQL Server)