維護 RBS (SharePoint Server 2010)

 

適用版本: SharePoint Foundation 2010, SharePoint Server 2010

上次修改主題的時間: 2016-11-30

本文說明如何在 Microsoft SharePoint Server 2010 中執行與「遠端 BLOB 儲存 (RBS)」相關的維護工作。

您可以使用 RBS 維護程式 (Microsoft SQL Server 中的一個工具),在 SharePoint Server 2010 中執行與 RBS 相關的大部分維護工作。RBS 維護程式執行 SharePoint 2010 RBS 部署的週期性廢棄項目收集與其他維護工作。您可以使用「Windows 工作排程器服務」或「Microsoft SQL Server 代理程式」,對使用 RBS 的每個資料庫排程這些工作。您必須使用命令列參數或 XML 檔案來佈建 RBS 維護程式。針對鏡像或複製資料庫,您可以根據任何單一執行個體執行 RBS 維護程式。

本文內容:

  • 廢棄項目收集

  • RBS 與 BLOB 儲存一致性檢查

  • 執行 RBS 維護程式

廢棄項目收集

SharePoint Server 2010 會將未參照或已刪除的 BLOB 自動標記為待移除。SharePoint Server 2010 會查看 SharePoint Server 2010 在移除時於內容資料庫中儲存的 BLOB 識別碼清單,以計算 BLOB 的參照。存在於 RBS 存放區表格但不存在於內容資料庫中的任何 BLOB 參照,都是假設要由 SharePoint Server 2010 刪除,而且會標記為待移除。不存在於內容資料庫但已在「清除遺棄項目」時間間隔之前建立的 BLOB (本文稍後所述),也會假設要由 SharePoint Server 2010 刪除,而且會標記為待移除。

SharePoint Server 2010 會以表格形式列出內容資料庫之 RBS 欄中的 BLOB 參照,因此每個 RBS 欄都必須具備有效的索引,才能在 RBS 中註冊。

SQL Server RBS 維護程式工具會移除 SharePoint Server 2010 標記要移除的項目。您應該排程在離峰期間執行清除工作,以減少對一般資料庫作業的影響。

RBS 廢棄項目收集分為下列三個步驟執行:

  • 參照掃描。第一步是將 SharePoint Server 2010 內容資料庫中 RBS 表格的內容與 RBS 自己內部表格的內容進行比較,並決定不再參照哪些 BLOB。任何未參照的 BLOB 都會標記為待刪除。

  • 刪除傳播。下一步是確定哪些 BLOB 被標記為待刪除的時間間隔長於廢棄項目收集時間間隔的值,並將其從 BLOB 存放區中刪除。

  • 清除遺留項目。最後一步確定是否有任何 BLOB 存在於 BLOB 存放區,卻不存在於 RBS 表中。如果存在這種情況,將會刪除孤立的 BLOB。

設定 RBS 廢棄項目收集

您可以指定下列 RBS 維護程式設定和資料庫設定,以設定廢棄項目收集:

  • 維護程式排程。此設定會決定 RBS 維護程式的執行頻率。

  • 工作期間。此設定會決定單一 RBS 維護程式工作可以執行的時間上限。預設設定為兩個小時。

您應該設定 RBS 維護程式,讓維護程式的活動對一般活動的影響降至最低。如需資料庫廢棄項目收集設定的詳細資訊 (包括如何設定這些設定),請參閱執行 RBS 維護程式 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=199638&clcid=0x404) (可能為英文網頁)。

RBS 與 BLOB 儲存一致性檢查

RBS 維護程式會確認 RBS BLOB 參照的完整性,並修正任何發現的錯誤。它會執行資料庫的多項一致性檢查,例如確認 RBS 欄的索引是否存在,以及確認 SharePoint Server 2010 參照的所有 BLOB 是否存在於 RBS 中。

輔助表一致性檢查確認 RBS 輔助表是否處於一致狀態。執行的檢查如下:

  • 確認每個 RBS 表格欄是否具備有效的索引。

  • 確認 RBS 表格欄是否存在、已啟用、具備有效的索引,並且具備正確的欄類型。

雖然您可以停用下列一致性檢查,但是建議您不要停用它們,因為它們有助於確認 RBS 存放區的一致性。預設會啟用下列一致性檢查:

  • 確認 SharePoint Server 2010 所參照的所有 BLOB 存在於 RBS 表格中。

  • 確認沒有任何 BLOB 同時標記為正在使用和已刪除。

會記錄任何發現的問題,RBS 維護程式會建立遺失的索引項目、取消註冊遺失的欄,或者將正在使用的 BLOB 標記為未刪除,以嘗試修復這些問題。

執行 RBS 維護程式

RBS 需要您在執行 RBS 維護程式之前,為使用 RBS 的每個資料庫定義連接字串。此字串會儲存在 <RBS 安裝路徑>\Microsoft SQL Remote Blob Storage 10.50\Maintainer 資料夾的設定檔中,而此設定檔通常是在安裝期間建立。搭配執行 Microsoft.Data.SqlRemoteBlobs.Maintainer.exe 程式與下表所列的參數,即可手動執行 RBS 維護程式。

參數名稱 描述 是否必要?

ConnectionStringName <連接字串名稱>

設定檔的連接字串名稱。

RBSMaintainerConnection 是在 RBS 安裝期間建立的預設名稱。

Operation <要執行的空格分隔作業清單>

要執行的廢棄項目收集作業。此參數可採用 1 到 4 個引數。ForceFinalize 值不能與任何其他作業搭配使用。

ConsistencyCheck

GarbageCollection

Maintenance

ConsistencyCheckForStores

ForceFinalize

GarbageCollectionPhases <階段>

要執行的廢棄項目收集階段。此參數用於執行或完成廢棄項目收集。其值必須為一或多個字母且不含空格。

r — 參照掃描。

d — 刪除傳播。

o — 清除遺棄項目。

是,如果執行廢棄項目收集。

ConsistencyCheckMode <c、r 或 b>

指定要執行的一致性檢查類型。

c — 只執行檢查。

r — 執行檢查並修復發現的任何問題。

b — 檢查、修改並重建內部資料結構。

是,如果執行一致性檢查。

ConsistencyCheckExtent <m 或 c>

指定一致性檢查的範圍。

m — 只檢查中繼資料;不檢查單一 BLOB。這是預設參數。

c\\

如果未指定,則會假設為 m

ConsistencyCheckForStores <空格分隔的 BLOB 存放區名稱清單>

列出將要進行一致性檢查的 BLOB 儲存名稱。

根據預設,檢查所有 BLOB 儲存。

TimeLimit <時間 (分鐘)>

指定 RBS 維護程式可用於執行其工作的時間。該參數必須是正整數。

您必須排程使用 RBS 之每個資料庫的個別 RBS 維護程式工作。下列步驟說明如何排程 RBS 維護程式工作。

排程 RBS 維護程式工作

  1. 確認您具有已安裝 RBS 之資料夾的寫入權限。

  2. 針對要執行的 RBS 維護程式工作新增連接字串至 *<RBS 安裝目錄>\*Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config 文件。RBS 安裝程式會使用安裝期間提供的連線資訊,建立一個名為 RBSMaintainerConnection 的連接字串。不過,您必須新增每個其他資料庫的新連接字串。

    如果您是使用 Windows 驗證,則不需要加密連接字串。您可以執行下列命令,來新增未加密連接字串:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

    如果您是使用 SQL 驗證,則 RBS 維護程式連接字串必須為加密格式。因此,若要新增連接字串,則必須加密新字串,或必須解密所有連接字串。一次必須新增一個加密字串。不過,使用 %windir%\Microsoft.net\Framework\<版本>\Aspnet_regiis.exe 工具,可以同時解密所有連接字串,此工具會配送為 Microsoft .NET Framework 的一部分。

    執行下列命令以解密連接字串,並將結果儲存在 Web.config 檔案中:

    rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config
    aspnet_regiis -pdf connectionStrings

    然後可以使用解密形式新增字串,並使用下列命令將檔案加密,然後重新命名 Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

  3. 建立 Windows 排程器工作,以執行每個可用資料庫的 RBS 維護程式工作。如果您以 GUI 模式執行 RBS 安裝程式,則會自動建立 Windows 排程器工作。不過,如果您以命令列模式執行 RBS 安裝程式,則必須在每次排程工作以執行 RBS 維護程式時執行下列步驟:

    1. 在 [開始] 功能表上,按一下 [系統管理工具],然後按一下 [工作排程器]。

    2. 在 [動作] 功能表上,按一下 [建立工作]。

    3. 在 [動作] 索引標籤上,按一下 [新增]。

    4. 在 [新增動作] 對話方塊的 [動作] 下拉式清單中,選取 [啟動程式]。

    5. 在 [設定] 下的 [程式/指令碼] 方塊中,瀏覽至維護程式二進位檔案 <RBS 安裝目錄>\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe,然後在 [新增引數 (可省略)] 文字方塊中,新增任何選用的引數。安裝程式會建立下列預設值:
      <-ConnectionStringName RBSMaintainerConnection>
      <-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>
      <-GarbageCollectionPhases rdo>
      <-ConsistencyCheckMode r>
      <-TimeLimit 120>

    6. 按一下 [確定]。

    7. 在 [觸發程序] 索引標籤上,按一下 [新增]。

    8. 在 [新增觸發程序] 對話方塊中排程工作,然後按一下 [確定]。建議將工作排程在系統活動較少的時間執行。

    9. 在 [一般] 索引標籤的 [安全性] 下,確定使用者帳戶具備執行工作的正確權限。按一下 [變更使用者或群組],就可以變更權限。

    10. 在 [一般] 索引標籤上,按一下 [不論使用者登入與否均執行],然後再按一下 [確定]。

See Also

Concepts

RBS 概觀 (SharePoint Server 2010)
規劃 RBS (SharePoint Server 2010)
安裝及設定 RBS (SharePoint Server 2010)
不使用 FILESTREAM 提供者安裝及設定 RBS (SharePoint Server 2010)
設定內容資料庫使用遠端 BLOB 儲存 (RBS) (SharePoint Server 2010)
將內容移入或移出 RBS (SharePoint Server 2010)
停用內容資料庫上的 RBS (SharePoint Server 2010)

Other Resources

SQL Server 及 SharePoint Server 2010 資料庫 (https://go.microsoft.com/fwlink/?linkid=199866&clcid=0x404)(可能為英文網頁)