SharePoint Server で RBS のメンテナンスを行うMaintain RBS in SharePoint Server

適用対象: yes2013 yes2016 yes2019 SharePointOnline なしAPPLIES TO: yes2013 yes2016 yes2019 noSharePoint Online

SharePoint Serverの RBS に関連付けられたメンテナンス タスクのほとんどは、SQL Server のツールである RBS Maintainer を使用して実行します。RBS Maintainer は、SharePoint Server の RBS 展開に対して定期的なガーベジ コレクションおよびその他のメンテナンス タスクを実行します。Windows タスク スケジューラまたは SQL Server エージェントを使用すると、RBS を使用するデータベースごとに、これらのタスクをスケジュールできます。コマンド ライン パラメーターまたは XML ファイルを使用して RBS Maintainer を準備する必要があります。ミラー化されたデータベースまたはレプリケートされたデータベースでは、単一インスタンスに対して RBS Maintainer を実行できます。You perform most of the maintenance tasks associated with RBS in SharePoint Server by using the RBS Maintainer, which is a tool in SQL Server. The RBS Maintainer performs periodic garbage collection and other maintenance tasks for a SharePoint Server RBS deployment. You can schedule these tasks for each database that uses RBS by using Windows Task Scheduler or SQL Server Agent. You must provision the RBS Maintainer by using command-line parameters or through an XML file. In the case of mirrored or replicated databases, you can run the RBS Maintainer against any single instance.

RBS ガーベジ コレクションの構成Configure RBS Garbage collection

SharePoint Serverは、未参照または削除済みの BLOB データに自動的に削除対象マークを付けます。SharePoint Serverは、削除時に SharePoint Serverによってそのコンテンツ データベースに保存された BLOB ID の一覧を調べることによって、BLOB への参照をカウントします。RBS ストア テーブル内にはあるが、コンテンツ データベース内にない BLOB 参照は SharePoint Server によって削除されたものと見なされ、削除対象マークが付けられます。コンテンツ データベース内にない BLOB で、孤立アイテムのクリーンアップ時間帯 (この記事で後述) よりも以前に作成されたものも SharePoint Serverによって削除されたものと見なされ、削除対象マークが付けられます。SharePoint Server automatically marks unreferenced or deleted BLOB data for removal. SharePoint Server counts references to BLOBs by looking at the list of BLOB IDs stored by SharePoint Server in its content databases at the time of removal. Any BLOB references that are present in the RBS store tables but absent in the content database are assumed to be deleted by SharePoint Server and will be marked for removal. BLOBs that are not present in the content database and were created before the orphan cleanup time window, described later in this article, are also assumed to be deleted by SharePoint Server and will be marked for removal.

SharePoint Server は、コンテンツ データベースの RBS 列から BLOB 参照のテーブルを作成するので、すべての RBS 列に有効なインデックスがないと RBS への登録を行えません。Because SharePoint Server tabulates BLOB references from the RBS columns of the content database, every RBS column must have a valid index before it can be registered in RBS.

SQL Server RBS Maintainer ツールは、SharePoint Server によって削除対象マークが付けられたアイテムを削除します。通常のデータベース操作に影響が出ないようにピーク時を避けてクリーンアップ タスクを実行するようにスケジュールしてください。The SQL Server RBS Maintainer tool removes the items marked by SharePoint Server for removal. You should schedule the clean-up tasks to be run during off-peak hours to reduce the effect on regular database operations.

RBS ガーベジ コレクションは、次に示す 3 つのステップで実行されます。RBS garbage collection is performed in the following three steps:

  • 参照スキャン。最初のステップでは、RBS 独自の内部テーブルを持つ SharePoint Server コンテンツ データベースの RBS テーブルの内容が照合され、参照されていない BLOB がないか調べられます。参照されていない BLOB には削除対象マークが付けられます。Reference scan. The first step compares the contents of the RBS tables in the SharePoint Server content database that has RBS's own internal tables and determines which BLOBs are no longer referenced. Any unreferenced BLOBs are marked for deletion.

  • 伝達の削除。次のステップでは、garbage_collection_time_window 値よりも長い時間にわたって削除のマークが付けられている BLOB が判別され、それらが BLOB ストアから削除されます。Delete propagation. The next step determines which BLOBs were marked for deletion for some time longer than the garbage_collection_time_window value and deletes them from the BLOB store.

  • 孤立アイテムのクリーンアップ。最後のステップでは、BLOB ストアには存在しているのに、RBS テーブルには存在しない BLOB があるかどうかが判定されます。これらの孤立した BLOB は削除されます。Orphan cleanup. The final step determines whether any BLOBs are present in the BLOB store but absent in the RBS tables. These orphaned BLOBs are then deleted.

RBS ガーベジ コレクションを構成するConfiguring RBS garbage collection

以下の RBS Maintainer の設定とデータベースの設定を指定することで、ガーベジ コレクションを構成できます。You can configure garbage collection by specifying the following RBS Maintainer settings and database settings:

  • Maintainer のスケジュール。この設定によって Maintainer の実行頻度が決まります。Maintainer schedule. This setting determines how often the RBS Maintainer will be run.

  • タスク期間。この設定によって 1 回の RBS Maintainer タスクの最長実行時間が決まります。既定の設定値は 2 時間です。Task Duration. This setting determines the maximum length that a single RBS Maintainer task can run. The default setting is two hours.

通常の活動への影響が最小限になるように RBS Maintainer を構成してください。データベースのガベージ コレクションの設定 (設定の構成方法など) については、「RBS Maintainer の実行」を参照してください。You should configure the RBS Maintainer so that its activity has minimal effect on regular activity. For information about database garbage collection settings, such as how to configure the settings, see Running RBS Maintainer.

RBS および BLOB ストアの整合性チェックRBS and BLOB store consistency checks

RBS Maintainer は、RBS BLOB 参照の整合性を検証し、エラーが見つかれば訂正します。RBS Maintainer は、データベースに対していくつかの整合性チェックを実行します。たとえば、RBS 列に対してインデックスが存在するかどうかを検証したり、SharePoint Serverで参照されている BLOB がすべて RBS に存在するかどうかを検証します。The RBS Maintainer verifies the integrity of RBS BLOB references and corrects any errors that are found. It performs several consistency checks for the database, such as verifying that indexes exist for the RBS columns, and verifying that all BLOBs that are referenced by SharePoint Server exist in RBS.

補助テーブル整合性チェックは、RBS 補助テーブルが矛盾のない状態であるかどうかを検証します。次のチェックが実行されます。The Auxiliary Table Consistency Check verifies that the RBS auxiliary tables are in a consistent state. The checks performed are the following:

  • RBS テーブルの各列に有効なインデックスがあるかどうかを検証する。Verify that each RBS table column has a valid index.

  • RBS テーブルの列が存在するか、列に有効なインデックスがあるか、列の種類が適切かどうかを検証する。Verify that RBS table columns exist; have enabled, valid indexes; and have the correct column type.

以下の整合性チェックは、無効にすることもできますが、RBS ストアの整合性を確実なものにするために無効にしないことをお勧めします。以下の整合性チェックは、既定で有効になっています。Although you can disable the following consistency checks, we recommend that you do not disable them because they help ensure the consistency of your RBS store. By default, the following consistency checks are enabled:

  • SharePoint Server で参照されている BLOB がすべて RBS テーブルに存在するかどうかを検証する。Verify that all BLOBs that are referenced by SharePoint Server are present in the RBS tables.

  • 使用中で、かつ削除済みとしてマークされている BLOB がないかどうかを検証する。Verify that no BLOBs are marked as both in use and deleted.

見つかった問題はすべてログに記録されます。RBS Maintainer は、欠落しているインデックス エントリを作成するか、欠落している列を登録解除するか、使用中の BLOB を非削除としてマークするかして、それらの問題の解決を試みます。Any discovered problems are logged and the RBS Maintainer attempts to fix them by creating missing index entries, unregistering missing columns, or marking in-use BLOBs as not deleted.

RBS Maintainer の実行Running the RBS Maintainer

RBS では、RBS Maintainer を実行する前に、RBS を使用する各データベースへの接続文字列を定義する必要があります。この文字列は、通常はインストール時に作成される <RBS installation path> \Microsoft SQL Remote Blob Storage 10.50\Maintainer フォルダー内の構成ファイルに格納されます。RBS Maintainer を手動で実行するには、「RBS Maintainer の実行」に一覧表示されているコマンド ライン パラメーターを指定して Microsoft.Data.SqlRemoteBlobs.Maintainer.exe プログラムを実行します。RBS requires you to define a connection string to each database that uses RBS before you run the RBS Maintainer. This string is stored in a configuration file in the <RBS installation path> \Microsoft SQL Remote Blob Storage 10.50\Maintainer folder that is ordinarily created during installation. The RBS Maintainer can be run manually by executing the Microsoft.Data.SqlRemoteBlobs.Maintainer.exe program together with the command line parameters that are listed in Running RBS Maintainer.

RBS を使用するデータベースごとに RBS Maintainer タスクを個別にスケジュールする必要があります。RBS Maintainer タスクのスケジュール方法を以下に示します。You must schedule a separate RBS Maintainer task for every database that uses RBS. The following steps describe how to schedule an RBS Maintainer task.

RBS Maintainer タスクをスケジュールするにはTo schedule an RBS Maintainer task

  1. RBS をインストールしたフォルダーに対して書き込み権限があることを確認します。Verify that you have Write permissions for the folder where you installed RBS.

  2. 実行する RBS Maintainer タスクの _<RBS インストール ディレクトリ>_Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config ファイルに接続文字列を追加します。RBS インストーラーは、セットアップ時に与えられた接続情報を使用して、RBSMaintainerConnection という名前の接続文字列を 1 つ作成します。ただし、追加のデータベースごとに新しい接続文字列を追加する必要があります。Add a connection string to the _<RBS installation directory>_Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config file for the RBS Maintainer task that is to be performed. The RBS installer creates one connection string that is named RBSMaintainerConnection by using the connection information that was provided during setup. However, new connection strings must be added for every additional database.

    Windows 認証を使用している場合は、接続文字列を暗号化しなくてもかまいません。暗号化されていない接続文字列は、次のコマンドで追加できます。If you are using Windows authentication, the connection string does not have to be encrypted. You can add the unencrypted connection string by running the following command:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvideraspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider

rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.configrename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

<span data-ttu-id="7d4c7-p117">SQL 認証を使用している場合は、RBS Maintainer の接続文字列を暗号化された形式にしなければなりません。そのため、接続文字列を追加するとき、新しい文字列を暗号化するか、すべての接続文字列を復号化することが必要です。暗号化された文字列は一度に 1 つずつ追加する必要がありますが、%windir%\\Framework\ _\<バージョン\>_ \Aspnet_regiis.exe ツールを使用すれば、すべての接続文字列を同時に復号化できます。このツールは Microsoft .NET Framework の一部として配布されています。</span><span class="sxs-lookup"><span data-stu-id="7d4c7-p117">If you are using SQL authentication, the RBS Maintainer connection strings must be in an encrypted format. Therefore, to add connection strings, either the new strings must be encrypted or all the connection strings must be decrypted. Encrypted strings must be added one at a time. However all the connection strings can be decrypted at the same time by using the %windir%\\Framework\ _\<version\>_ \Aspnet_regiis.exe tool, which is distributed as a part of the Microsoft .NET Framework.</span></span>

<span data-ttu-id="7d4c7-169">以下のコマンドで、接続文字列を復号化し、結果を Web.config ファイルに格納します。</span><span class="sxs-lookup"><span data-stu-id="7d4c7-169">Run the following commands to decrypt the connection strings and store the results in a Web.config file:</span></span>

<span data-ttu-id="7d4c7-170">**rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config**</span><span class="sxs-lookup"><span data-stu-id="7d4c7-170">**rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config**</span></span>

aspnet_regiis -pdf connectionStringsaspnet_regiis -pdf connectionStrings

<span data-ttu-id="7d4c7-172">その後、文字列を復号化された形式で追加し、このファイルを暗号化して、ファイル名を Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config に変更できます。それには次のコマンドを使用します。</span><span class="sxs-lookup"><span data-stu-id="7d4c7-172">Strings can then be added in decrypted form and the file can be encrypted and renamed to Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config by using the following commands:</span></span>

<span data-ttu-id="7d4c7-173">**aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider**</span><span class="sxs-lookup"><span data-stu-id="7d4c7-173">**aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider**</span></span>

rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.configrename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

  1. 該当するデータベースごとに RBS Maintainer タスクを実行するための Windows スケジューラ タスクを作成します。RBS インストーラーを GUI モードで実行していた場合は、Windows スケジューラ タスクが自動的に作成されます。しかし、コマンド ライン モードで実行していた場合は、RBS Maintainer を実行するタスクをスケジュールするたびに次の手順を実行する必要があります。Create a Windows scheduler task to run the RBS Maintainer task for each applicable database. If you ran the RBS installer in GUI mode, it automatically created a Windows scheduler task. However, if you ran the RBS installer in command-line mode, you must follow these steps every time that you schedule a task to run the RBS Maintainer:
  • [スタート] メニューで、[ 管理ツール] をクリックし、[ タスク スケジューラ] をクリックします。On the Start menu, click Administrative Tools, and then click Task Scheduler.

  • [ 操作] メニューで [ タスクの作成] をクリックします。On the Action menu, click Create Task.

  • [ 操作] タブで [ 新規] をクリックします。On the Actions tab, click New.

  • [新しい操作] ダイアログの [アクション] ドロップダウンリストで、[プログラムの開始] を選択します。In the New Action dialog, in the Action drop-down list, select Start a program.

  • [設定][プログラム/スクリプト] ボックスで、Maintainer バイナリ ファイル <RBS installation directory> \Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe を参照し、 [引数の追加 (オプション)] テキスト ボックスに任意の引数を追加します。インストーラーにより、次の既定の値が作成されます。Under Settings, in the Program/script box, browse to the Maintainer binary file <RBS installation directory> \Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, and in the Add arguments (optional) text box, add any optional arguments. The following default values are created by the installer:

    <-ConnectionStringName RBSMaintainerConnection>、<-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>、<-GarbageCollectionPhases rdo>、<-ConsistencyCheckMode r>、<-TimeLimit 120><-ConnectionStringName RBSMaintainerConnection>, <-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>, <-GarbageCollectionPhases rdo>, <-ConsistencyCheckMode r>, <-TimeLimit 120>

  • [OK] をクリックします。Click OK.

  • [ トリガー] タブで [ 新規] をクリックします。On the Triggers tab, click New.

  • [新しいトリガー ] ダイアログで、タスクをスケジュールし、[ OK] をクリックします。In the New Trigger dialog, schedule the task, and then click OK. システムの活動レベルが低い時間帯にタスクをスケジュールすることをお勧めします。We recommend that you schedule the task to run during low system activity times.

  • [ 全般] タブの [ セキュリティ] で、ユーザー アカウントにタスクを実行する権限があることを確認します。権限を変更するには、[ ユーザーまたはグループの変更] をクリックします。On the General tab, under Security, make sure that the user account has the appropriate permissions to run the task. You can change permissions by clicking Change User or Group.

  • [ 全般] タブで [ ユーザーがログオンしているかどうかにかかわらず実行する] をクリックし、[ OK] をクリックします。On the General tab, click Run whether user is logged on or not, and then click OK.

関連項目See also


SharePoint Server での RBS の概要Overview of RBS in SharePoint Server

SharePoint Server ファームで FILESTREAM を使用する RBS をインストールおよび構成するInstall and configure RBS with FILESTREAM in a SharePoint Server farm

SharePoint Server で FILESTREAM と一緒に RBS を使うようにコンテンツ データベースを設定するSet a content database to use RBS with FILESTREAM in SharePoint Server

コンテンツを SharePoint Server の RBS 内または RBS 外に移行するMigrate content into or out of RBS in SharePoint Server

SharePoint Server でコンテンツ データベースにある RBS を無効にするDisable RBS on content databases in SharePoint Server