在 SharePoint Server 伺服器陣列中使用 FILESTREAM 來安裝和設定 RBS

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

SharePoint Server 使用 RBS 功能將二進位大型物件 (Blob) 存放在內容資料庫的外部。 如需 RBS 的詳細資訊,請參閱 SharePoint Server 中的 RBS 概觀

除非特別指定,否則本文中的資訊都是專指使用 FILESTREAM 提供者的 RBS。 如需其他提供者特定的指導,請連絡提供者製造商。

提示

此解決方案使用 SQL Server 2019、SQL Server 2017、SQL Server 2016、SQL Server 2016 SP1、SQL Server 2014、Service Pack 1 SP1、SP2 和 SQL Server 2008 隨附的 FILESTREAM RBS 提供者。 如果您想要使用不同的提供者來安裝和設定 RBS,請使用 為 SharePoint Server 使用第三方提供者安裝及設定 RBS 中的程序。

開始之前

您只需為伺服器陣列安裝及設定一次 FILESTREAMY 提供者的 RBS。 但若要為特定內容資料庫啟用不同提供者的 RBS,必須將 RBS 設定為使用這些提供者。 如需此作業的詳細資訊,請參閱<為 SharePoint Server 使用第三方提供者安裝及設定 RBS>。

開始這項作業之前,請參閱下列有關先決條件的資訊:

啟用資料庫伺服器上的 FILESTREAM

根據預設,當您安裝 SQL Server 時,會安裝 FILESTREAM 功能。 但未啟用。 您必須在執行裝載 SharePoint Server 資料庫SQL Server的電腦上啟用和設定 FILESTREAM。 您必須:

  1. 啟用 Transact-SQL 存取的 FILESTREAM

  2. 啟用 FILESTREAM 的檔案 I/O 資料流存取。

  3. 如果您需要遠端用戶端存取,請允許遠端用戶端擁有 FILESTREAM 資料的資料流存取權。

若要啟用檔案 I/O 的 FILESTREAM 以及允許用戶端存取,請遵循啟用及設定 FILESTREAM 中的指示。 您只需要針對要使用 RBS 的每部資料庫伺服器進行一次這些設定即可。

為每個內容資料庫佈建 BLOB 存放區

當您啟用及設定 FILESTREAM 之後,必須依照下列程序在檔案系統上佈建 BLOB 存放區。 每一個要使用 RBS 的內容資料庫都必須佈建 BLOB 存放區。

佈建 BLOB 存放區

  1. 確認執行這些步驟的使用者帳戶是要設定 RBS 之各資料庫上的 db_owner 固定資料庫角色成員。

  2. 開啟 SQL Server Management Studio

  3. 連線到代管內容資料庫的 SQL Server 執行個體。

  4. 展開 [資料庫]。

  5. 按一下要建立 BLOB 存放區的內容資料庫,然後按一下 [新增查詢]。

  6. Paste the following SQL queries in Query pane, and then execute them in the sequence listed. 在每個案例中,將 [WSS_Content] 取代為內容資料庫名稱,並將 c:\BlobStore 取代為您要在其中建立 BLOB 存放區的 volume\directory。 The provisioning process creates a folder in the location that you specify. Be aware that you can provision a BLOB store only one time. If you attempt to provision the same BLOB store multiple times, you'll receive an error.

    提示

    為能發揮最大效能及簡化疑難排解的程序,通常會建議您在不含作業系統、分頁檔案、資料庫資料、記錄檔或 tempdb 檔案的磁碟區上建立 BLOB 存放區。

    use [WSS_Content]
    if not exists 
    (select * from sys.symmetric_keys 
    where name = N'##MS_DatabaseMasterKey##')
    create master key encryption by password = N'Admin Key Password !2#4'
    
    use [WSS_Content]
    if not exists 
    (select groupname from sysfilegroups 
    where groupname=N'RBSFilestreamProvider')
    alter database [WSS_Content]
    add filegroup RBSFilestreamProvider contains filestream
    
    use [WSS_Content] 
    alter database [WSS_Content]
    add file (name = RBSFilestreamFile, filename = 'c:\Blobstore') to filegroup RBSFilestreamProvider
    

在 SQL Server 和每個前端或應用程式伺服器上安裝 RBS 用戶端程式庫

您必須在 SharePoint 伺服器陣列的 SQL Server 節點和所有前端或應用程式伺服器上安裝 RBS 用戶端程式庫。 每部 web 伺服器只需要安裝一次 RBS 用戶端程式庫。 用戶端程式庫包含連結到使用者應用程式的用戶端動態連結程式庫 (DLL),以及 SQL Server 上所安裝的一組預存程序。

注意

請勿藉由執行RBS_amd64.msi (或RBS.msi) 檔案,並啟動 [安裝 SQL 遠端 BLOB 儲存體精靈] 來安裝 RBS 用戶端程式庫。 此精靈會設定一些不建議在 SharePoint Server 中使用的預設值。

在 SQL Server 上安裝 RBS 用戶端程式庫。

  1. 確認執行這些步驟的使用者帳戶是安裝程式庫所在之電腦的系統管理員群組成員。

  2. 在 SQL Server 節點上,根據 SQL Server 版本和您所使用的 SharePoint 層級,下載正確的 RBS 用戶端。

    SharePoint Server 訂閱版本支援包含在 SQL Server 2019 和更新版本SQL Server中的 FILESTREAM 提供者。

    SharePoint Server 2019支援包含在 SQL Server 2016 和 SQL Server 2017 中的 FILESTREAM 提供者。

    SharePoint Server 2016 支援 SQL SERVER 2014 和 SQL Server 2016 中包含的 FILESTREAM 提供者。

    SharePoint 2013 支援包含在所有版本 SQL Server 2008 R2、SQL Server 2012 和 SQL Server 2014 中的 FILESTREAM 提供者。

    您只需要從 Feature Pack 下載 RSB.msi 檔案,但請確定您下載的是伺服器 (x86 或 x64) 適用的正確處理器類型。

    針對SharePoint Server 訂閱版本,請從下列清單中選擇正確的安裝:

    針對SharePoint Server 2019,請從下列清單中選擇正確的安裝:

    針對 SharePoint Server 2016,從下列清單中選擇正確的安裝︰

    針對 SharePoint 2013,從下列清單中選擇正確的安裝︰

  3. 複製下列命令並將之貼至「命令提示字元」視窗。 以資料庫名稱取代WSS_Content,並將DBInstanceName取代為SQL Server實例名稱。 您只可使用指定的資料庫名稱與 SQL Server 執行個體名稱執行此命令一次。 整個動作應在大約一分鐘之內完成。

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    

將 RBS 用戶端程式庫安裝在所有 SharePoint 前端及應用程式伺服器上

  1. 確認執行這些步驟的使用者帳戶是安裝程式庫所在之電腦的系統管理員群組成員。

  2. 在任何網頁伺服器上,根據 SQL Server 版本和您所使用的 SharePoint 層級,下載正確的 RBS 用戶端。 使用下列其中一個清單來選擇正確的安裝。

    SharePoint Server 訂閱版本支援包含在 SQL Server 2019 和更新版本SQL Server中的 FILESTREAM 提供者。

    SharePoint Server 2019支援包含在 SQL Server 2016 和 SQL Server 2017 中的 FILESTREAM 提供者。

    SharePoint Server 2016 支援 SQL SERVER 2014 和 SQL Server 2016 中包含的 FILESTREAM 提供者。

    SharePoint 2013 支援包含在所有版本 SQL Server 2008 R2、SQL Server 2012 和 SQL Server 2014 中的 FILESTREAM 提供者。

    您只需要從功能套件下載RSB.msi檔案,但請務必下載 x64 版本。

    針對SharePoint Server 訂閱版本,請從下列清單中選擇正確的安裝:

    針對SharePoint Server 2019,請從下列清單中選擇正確的安裝:

    針對 SharePoint Server 2016,從下列清單中選擇正確的安裝︰

    針對 SharePoint 2013,從下列清單中選擇正確的安裝︰

  3. 複製下列命令並將之貼至「命令提示字元」視窗。 以資料庫名稱取代WSS_Content,並將DBInstanceName取代為SQL Server實例的名稱。 整個動作應在大約一分鐘之內完成。

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
    

    注意事項

    [!附註] 如果您嘗試在相同的 SQL Server 執行個體上安裝額外資料庫的 SQL Server 2012 遠端 Blob 存放區,則會收到錯誤。 如需詳細資訊,請參閱 KB2767183

    針對後續您要啟用 RBS 變更的內容資料庫 ,請類似如下變更 msiexec 命令。

    msiexec /qn /lvx* rbs_install_log_ContentDbName.txt /i RBS_amd64.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME="WSS_Content_2" ADDLOCAL="EnableRBS,FilestreamRunScript" DBINSTANCE="DBInstanceName"
    
  4. 針對 SharePoint 伺服器陣列中的所有前端伺服器和應用程式伺服器,重複此程序。

    注意事項

    [!附註] 如果您在 SharePoint Server 應用程式伺服器上安裝的 Visio web 服務尚未安裝 RBS 提供者,當您嘗試從這個伺服器開啟 Visio 圖表時,會出現 Visio 錯誤。 如果您想要開啟該伺服器上的 Visio 圖表,必須在執行 Visio Graphics Service 的 SharePoint Server 伺服器上安裝 RBS 用戶端。

確認 RBS 用戶端文件庫安裝

  1. The rbs_install_log.txt log file is created in the same location as the RBS_amd64.msi file. Open the rbs_install_log.txt log file by using a text editor and scroll toward the bottom of the file. Within the last 20 lines of the end of the file, an entry should read as follows: Product: SQL Remote Blob Storage - Installation completed successfully.

  2. 在執行 Service Pack 1 (SP1) 或 SQL Server 2008 的電腦上,確認內容資料庫中是否已建立 RBS 資料表。 內容資料庫下應列有數個名稱前加上 "mssqlrbs" 的資料表。

為每部內容資料庫啟用 RBS

您必須為 SharePoint 伺服器陣列中的每部網頁伺服器啟用 RBS。 只要您已使用前述程序在網頁伺服器上安裝了 RBS,在何部網頁伺服器執行此動作便無太大差別。 每個內容資料庫都必須執行此程序。

注意事項

您只能使用 Microsoft PowerShell 啟用 RBS。

使用 Microsoft PowerShell 啟用 RBS

  1. 確認您具備下列成員身分:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

  2. 啟動 SharePoint 管理命令介面。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $cdb = Get-SPContentDatabase <ContentDatabaseName>
    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
    $rbss
    

    其中< ContentDatabaseName >是內容資料庫的名稱。

如需詳細資訊,請參閱<Get-SPContentDatabase>。

將 db_owner 權限指派給 Web 應用程式

重要事項

請確定存取具有 RBS 功能之內容資料庫的 Web 應用程式是該資料庫的 db_owner 固定資料庫角色成員。

測試 RBS 安裝

您應測試 SharePoint 伺服器陣列之前端伺服器上的 RBS 安裝,以確定系統運作正常。

測試 RBS 資料存放區

  1. 在包含「RBS 資料儲存」的電腦上按一下 [開始],再按一下 [電腦]。

  2. 瀏覽至 RBS 資料儲存目錄。

  3. 確認資料夾是空的。

  4. 在 SharePoint 伺服器陣列上,上傳至少 100 KB 的檔案至文件庫。

  5. 在包含「RBS 資料儲存」的電腦上按一下 [開始],再按一下 [電腦]。

  6. 瀏覽至 RBS 資料儲存目錄。

  7. 瀏覽至檔案清單,然後開啟變更日期最新的檔案。 這應該就是您剛才上傳的檔案。

另請參閱

SharePoint Server 中的 RBS 概觀

決定在 SharePoint Server 中使用 RBS

使用 SharePoint 2013 和 SQL Server 2012 安裝及設定 RBS

安裝 SharePoint 2013

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

啟用和設定 FILESTREAM