SharePoint Server での RBS の概要

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

この記事では、リモート BLOB ストレージ (RBS)、SQL Server と共に SharePoint Serverを使用してデータベース ストレージ リソースを最適化する方法について説明します。

RBS を実装する前に、その潜在的なコストとメリットを評価することを強くお勧めします。 SharePoint Server インストールで RBS を使用する方法に関する詳細および推奨事項については、「SharePoint Server で RBS の使用を決める」を参照してください。

注:

特に指定のない限り、この記事の情報は、FILESTREAM プロバイダーを使用する RBS にのみ適用されます。 他のプロバイダー固有のガイダンスについては、プロバイダーのメーカーに問い合わせてください。

RBS について

SharePoint Server では、バイナリ ラージ オブジェクト (BLOB) は、データベースに格納されている大きなデータ ブロックであり、その構造 (Office ドキュメントやビデオ ファイルなど) ではなく、そのサイズと場所によって認識されます。 既定では、これらの BLOB (非構造化データとも呼ばれます) は、SharePoint コンテンツ データベースに、関連付けられているメタデータまたは構造化データと共に直接格納されます。 これらの BLOB は非常に大きくなる可能性があるため、BLOB をコンテンツ データベースの外部に格納することをお勧めします。 BLOB は変更できません。 そのため、BLOB の新しいコピーは、その BLOB のバージョンごとに格納する必要があります。 このため、データベースの使用量が増加すると、BLOB データの合計サイズが迅速に拡張され、ドキュメント メタデータやデータベースに格納されているその他の構造化データの合計サイズよりも大きくなる可能性があります。 BLOB データは大量の領域を消費する可能性があり、データベース アクセス パターン用に最適化されたサーバー リソースを使用します。 そのため、BLOB データを SQL Server データベースから移動し、コモディティストレージまたはコンテンツ アドレス指定可能ストレージに移動すると便利です。 これを行うには、RBS を使用します。

RBS は、以下をインストールするときにインストールできるアドイン Feature Pack として組み込まれている SQL Server ライブラリ API のセットです。

  • SQL Server 2019

  • SQL Server 2017

  • SQL Server 2016

  • SQL Server 2014 Service Pack 1 (SP1)

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2 Express

  • SQL Server 2008 R2

  • SQL Server 2008

RBS 機能は、SharePoint Server などのアプリケーションが、コンテンツ データベース以外の場所に BLOB を格納できるようにします。 BLOB を外部に格納すると、必要とされる SQL Server データベース記憶域の領域を減らすことができます。 各 BLOB のメタデータは SQL Server データベースに格納され、BLOB は RBS ストアに格納されます。

SharePoint Serverは、RBS の機能を使用して、BLOB をコンテンツ データベースの外側に格納します。 SQL Server と SharePoint Serverは連携して、データベース レコードと RBS 外部ストアのコンテンツ間のデータ整合性をデータベース単位で管理します。

RBS は、次のコンポーネントで構成されています。

  • RBS クライアント ライブラリ

    RBS クライアント ライブラリは、SharePoint Serverと共に BLOB ストレージを調整する管理されたライブラリ、SQL Server、および RBS プロバイダー コンポーネントで構成されます。

  • リモート BLOB ストレージ プロバイダー

    RBS プロバイダーは、管理されたライブラリ、および BLOB ストアと通信するネイティブ ライブラリのセット (オプション) で構成されます。

    RBS プロバイダーの例として、SQL FILESTREAM プロバイダーがあります。 SQL FILESTREAM プロバイダーは、SQL Server 2014 Service Pack 1 (SP1) 以降のバージョンのSQL Serverのアドイン機能であり、SQL Server 2014 (SP1) 以降のバージョンと NTFS ファイル システムの組み合わせを使用して BLOB データのストレージと効率的なアクセスを可能にします。 FILESTREAM の詳細については、「FILESTREAM (SQL Server)」を参照してください。FILESTREAM を有効にして構成する方法については、「FILESTREAM を有効にして構成する」を参照してください。

  • BLOB ストア

    BLOB ストアは、BLOB データの格納に使用されるエンティティです。 これは、コンテンツ アドレッサブル ストレージ (CAS) ソリューション、サーバー メッセージ ブロック (SMB) をサポートするファイル サーバー、または SQL Server データベースのいずれかになります。

RBS プロバイダー

RBS は、プロバイダーを使用して、RBS API を使用した任意の専用 BLOB ストアに接続します。 SharePoint Serverは、こうしたプロバイダー経由で RBS API を使用して BLOB データにアクセスする BLOB ストレージ実装をサポートします。 RBS プロバイダーには、ローカルとリモートの 2 種類があります。

RBS プロバイダーが BLOB データを格納する場所は、使用するプロバイダーによって異なります。 FILESTREAM プロバイダーの場合、データは .mdf ファイルに格納されません。 代わりに、データベースに関連付けられている別のフォルダーに格納されます。

ローカル RBS プロバイダー

ローカル プロバイダーは、データベースの外側といっても SQL Server を実行しているのと同じサーバー上に BLOB を格納します。 ローカルの RBS FILESTREAM プロバイダーを使用して、抽出された BLOB データを別の (つまり、リソース消費のより少ない) ローカル ディスクに配置することで、リソースを節約できます。 BLOB はメタデータと同じファイルグループに格納されるため、サーバーの全体管理 におけるバックアップや復元といった SharePoint Server の機能を使用できます。

RBS FILESTREAM プロバイダーは、SQL Server 2014 Service Pack 1 (SP1) 以降のバージョンのSQL Serverをインストールするときにアドインとして使用できます。 RBS FILESTREAM プロバイダーは、SQL Server FILESTREAM 機能を使用して、同じデータベースに接続されていてサーバー上にローカルに保存されている追加的なリソースに BLOB を格納します。 FILESTREAM 機能は、基盤となる NTFS ファイル システムを使用して、SQL データベース内の BLOB を管理します。

重要

ローカル RBS FILESTREAM プロバイダーは、ローカル ハード ディスク ドライブまたは接続されている Internet Small Computer System Interface (iSCSI) デバイス上で使用する場合にのみサポートされています。 ローカル RBS FILESTREAM プロバイダーをネットワーク接続ストレージ (NAS) などのリモート ストレージ デバイスで使用することはできません。

リモート RBS プロバイダー

リモート RBS プロバイダーは、BLOB を別のサーバーに格納します。 通常、これはデータベース サーバーと同じネットワーク上にある別のボリュームです。

BLOB はメタデータを含む同じファイル グループに格納されないため、一部の SharePoint Server 機能 (サーバーの全体管理でのバックアップと復元など) は、リモート RBS プロバイダーでは使用できません。 メタデータと BLOB は、別々に管理する必要があります。 こうしたプロバイダーでどんな機能が使用できるのかの詳細については、プロバイダーの製造元に問い合わせてください。

RBS を SharePoint Server と共に使用する

SharePoint Server サブスクリプション エディションでは、SQL Server 2019 以降のバージョンのSQL Serverに含まれる FILESTREAM プロバイダーがサポートされています。 このバージョンの RBS は、SQL Server インストール メディアに含まれていますが、SQL Server セットアップ プログラムではインストールされません。

SharePoint Server 2019では、SQL Server 2016 および SQL Server 2017 に含まれる FILESTREAM プロバイダーがサポートされています。 このバージョンの RBS は、SQL Server インストール メディアに含まれていますが、SQL Server セットアップ プログラムではインストールされません。

SharePoint Server 2016 は、SQL Server 2014 (SP1) に含まれている FILESTREAM プロバイダーをサポートしています。 このバージョンの RBS は、SQL Server インストール メディアに含まれていますが、SQL Server セットアップ プログラムではインストールされません。

SharePoint 2013 は、SQL Server 2008 R2 用 Feature Pack に含まれる SQL Server リモート BLOB ストア インストール パッケージ、SQL Server 2012、および SQL Server 2014 に含まれる FILESTREAM プロバイダーをサポートします。 これらのバージョンの RBS は次の場所で使用できます。

以下の点にご注意ください。

  • SQL Server 2019 以降のバージョンの SQL Server 用のリモート BLOB ストア インストール パッケージSQL Server、SharePoint Server サブスクリプション エディションでサポートされている RBS の唯一のバージョンです。
  • SQL Server SQL Server 2016 および SQL Server 2017 用のリモート BLOB ストア インストール パッケージは、SharePoint Server 2019でサポートされている RBS の唯一のバージョンです。
  • SQL Server 2014 用のリモート BLOB ストア インストール パッケージSQL Serverは、SharePoint Server 2016 でサポートされている RBS の唯一のバージョンです。
  • SharePoint 2013 がサポートする RBS のバージョンは SQL Server 2008 R2 用 Feature Pack に含まれる SQL Server リモート BLOB ストア インストール パッケージ 以降のみです。 以前のバージョンはサポートされていません。

サード パーティ製の RBS プロバイダーと RBS API を使用して、SharePoint Server と互換性のある BLOB ストレージ ソリューションを作成することもできます。

SharePoint Serverでは、サイト コレクションのバックアップと復元、およびサイトのインポートまたはエクスポートにおいては、使用している RBS プロバイダーに関係なく、ファイルのコンテンツがダウンロードされ、再度サーバーにアップロードされます。 このプロセスは、ディープ コピーと呼ばれます。 ただし、SharePoint Serverのファーム データベースのバックアップと復元の操作でサポートされているプロバイダーは、現時点では FILESTREAM プロバイダーのみです。

RBS を使用するには、SharePoint Server がインストールされている各サーバーとそのトポロジ内の各データベース サーバーに RBS プロバイダーをインストールする必要があります。 こうしたプロバイダーには、RBS API のメソッドを実装し、BLOB 外部化の実際の操作を実行する DLL のセットが含まれます。

注:

RBS プロバイダーがインストールされていない SharePoint Server アプリケーション サーバーで Visio Web サービスを実行する場合、このサーバーから Visio 図面を開こうとすると、Visio のエラーが発生します。 Visio Graphics Service を実行する SharePoint Server サーバーで Visio 図面を開く場合は、このサーバーに RBS クライアントをインストールする必要があります。

SharePoint Server サブスクリプション エディション: リモート サーバーで RBS を実行するには、メタデータがデータベースに格納されているSQL Serverを実行しているサーバーで、SQL Server 2019 以降のバージョンのSQL Server Enterpriseを実行している必要があります。

SHAREPOINT SERVER サブスクリプション エディション コンテンツ データベースとは異なる RBS ストアに BLOB データを格納する予定の場合は、SQL Server 2019 以降のバージョンのSQL Serverを実行する必要があります。 これは、すべての RBS プロバイダーに当てはまります。

SharePoint Server 2019: リモート サーバーで RBS を実行するには、メタデータがデータベースに格納されているSQL Serverを実行しているサーバーで、2016 SQL Serverまたは SQL Server 2017 Enterprise を実行している必要があります。

SHAREPOINT SERVER 2019 コンテンツ データベースとは異なる RBS ストアに BLOB データを格納する予定の場合は、2016 年または 2017 年SQL Server SQL Server実行する必要があります。 これは、すべての RBS プロバイダーに当てはまります。

SharePoint Server 2016: RBS をリモート サーバーで実行するには、メタデータがデータベースに格納されている、SQL Server を実行しているサーバーで SQL Server 2014 (SP1) Enterprise を実行している必要があります。

SharePoint Server 2016 のコンテンツ データベースとは別の RBS ストアに BLOB データを格納する予定の場合は、SQL Server 2014 (SP1) を実行する必要があります。 これは、すべての RBS プロバイダーに当てはまります。

SharePoint Server 2013: RBS をリモート サーバーで実行するには、メタデータがデータベースに格納された、SQL Server を実行しているサーバーで、SQL Server 2008 R2、SQL Server 2012、または SQL Server 2014 Enterprise を実行している必要があります。

SharePoint 2013 のコンテンツ データベースとは別の RBS ストアに BLOB データを格納する予定の場合は、SQL Server 2008 SP1 (累積的な更新プログラム 2 を適用済み)、SQL Server 2012、または SQL Server 2014 を実行する必要があります。 これは、すべての RBS プロバイダーに当てはまります。

4 ギガバイト (GB) を超えるコンテンツ データベースを持つ Windows SharePoint Services 3.0 のスタンドアロン インストールから SharePoint 2013 へのアップグレードに推奨される FILESTREAM プロバイダーは、データを現在のコンテンツ データベースにローカルに関連付け、SQL Server Enterprise必要ありません。

重要

RBS を使用すると BLOB データを外部に格納できますが、こうした BLOB については、SharePoint Server以外のいかなるツールや製品を使用したアクセスまたは変更もサポートされていません。 すべてのアクセスは、SharePoint Serverのみを使用して行う必要があります。

関連項目

その他のリソース

バイナリ ラージ オブジェクト (Blob) データ (SQLServer)

FILESTREAM (SQL Server)

リモート BLOB ストア プロバイダー ライブラリの実装の仕様

SharePoint 2013 および SQL Server 2012 で RBS をインストールおよび構成する