SharePoint Server ファームで FILESTREAM を使用する RBS をインストールおよび構成する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
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 をインストールおよび構成する場合は、「サードパーティのプロバイダーで RBS をインストールして構成する (SharePoint Server)」の手順に従ってください。
はじめに
行うことは、FILESTREAM プロバイダーを使用して、一度 RBS をファームにインストールして構成するだけです。 ただし、特定のコンテンツ データベースで、別のプロバイダーを使用して RBS を有効にする場合は、そのプロバイダーを使用するように RBS を構成する必要があります。 その方法については、「サードパーティのプロバイダーで RBS をインストールして構成する (SharePoint Server)」を参照してください。
この操作を開始する前に、前提条件に関する次の情報を確認してください。
「コンテンツ データベースごとに BLOB ストアを準備する」セクションの手順の実行に使用されるユーザー アカウントは、RBS を構成する各データベース上で、 db_owner 固定データベース ロールのメンバーである必要があります。
「SQL サーバーとフロントエンド サーバーまたはアプリケーション サーバーごとに RBS クライアント ライブラリをインストールする」セクションの手順でクライアント ライブラリをインストールするユーザー アカウントは、ライブラリをインストールするすべてのコンピューター上で、Administrators グループのメンバーである必要があります。
「コンテンツ データベースごとに RBS を有効にする」セクションで RBS を有効にするユーザー アカウントには、Microsoft PowerShell を実行する十分なアクセス許可が必要です。
データベース サーバーで FILESTREAM を有効にする
既定では、SQL Server をインストールすると FILESTREAM 機能がインストールされます。 ただし、有効になっていません。 SharePoint Server データベースをホストする SQL Server を実行しているコンピューターで FILESTREAM を有効にして構成する必要があります。 次を実行する必要があります。
Transact-SQL アクセスに対して FILESTREAM を有効にする
ファイル I/O ストリーム アクセスに対して FILESTREAM を有効にします。
リモート クライアント アクセスを必要とする場合には、リモート クライアントに FILESTREAM データへのストリーム アクセスを許可します。
ファイル I/O に対して FILESTREAM を有効にし、クライアントにアクセスを許可するには、「FILESTREAM の有効化と構成」の指示に従ってください。 RBS を使用するデータベース サーバーごとに一度だけこれらの設定を構成する必要があります。
コンテンツ データベースごとに BLOB ストアを準備する
FILESTREAM の有効化と構成が完了したら、以下の手順に従って BLOB ストアをファイル システム上に準備します。 BLOB ストアの準備は、RBS で使用するコンテンツ データベースごとに行う必要があります。
BLOB ストアを準備するには
この手順を実行しているユーザー アカウントが、RBS を構成する各データベースにある db_owner 固定データベース ロールのメンバーであることを確認します。
SQL Server Management Studio を開きます。
コンテンツ データベースをホストする SQL Server インスタンスに接続します。
[ データベース] を展開します。
BLOB ストアを作成するコンテンツ データベースをクリックし、[ 新しいクエリ] をクリックします。
Paste the following SQL queries in Query pane, and then execute them in the sequence listed. いずれの場合も 、[WSS_Content] を コンテンツ データベース名に置き換え、 c:\BlobStore を BLOB ストアを作成するボリューム\ディレクトリに置き換えます。 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 サーバーとフロントエンド サーバーまたはアプリケーション サーバーごとに RBS クライアント ライブラリをインストールする
SQL サーバー ノードと、SharePoint ファーム内のすべてのフロントエンド サーバーまたはアプリケーション サーバーに RBS クライアント ライブラリをインストールする必要があります。 RBS クライアント ライブラリのインストールは各 Web サーバーについて一度だけ行いますが、RBS の構成は関連する各コンテンツ データベースで個別に行う必要があります。 クライアント ライブラリは、ユーザー アプリケーションにリンクされたクライアント側のダイナミック リンク ライブラリ (DLL) と、SQL Server にインストールされた一連のストアド プロシージャで構成されています。
注意
RBS_amd64.msi (または RBS.msi) ファイルを実行し、SQL リモート BLOB ストレージのインストール ウィザードを起動して、RBS クライアント ライブラリをインストールしないでください。 このウィザードを使用すると、一部の設定値が SharePoint Serverには不適切な既定値に設定されます。
SQL サーバーに RBS クライアント ライブラリをインストールするには
この手順を実行するユーザー アカウントが、ライブラリをインストールするコンピューターの Administrators グループのメンバーであることを確認します。
SQL サーバー ノードで、使用している SQL Server バージョンと SharePoint レベルに応じた適切な RBS クライアントをダウンロードします。
SharePoint Server Subscription Edition では、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 では、次の一覧から適切なインストールを選択します。
Copy and paste the following command into the Command Prompt window. WSS_Contentをデータベース名に置き換え、DBInstanceName を SQL Server インスタンス名に置き換えます。 You should run this command by using the specific database name and SQL Server instance name only one time. The action should finish within approximately one minute.
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
すべての SharePoint フロントエンド サーバーおよびアプリケーション サーバーに RBS クライアント ライブラリをインストールするには
この手順を実行するユーザー アカウントが、ライブラリをインストールするコンピューターの Administrators グループのメンバーであることを確認します。
任意の Web サーバーで、使用している SQL Server バージョンと SharePoint レベルに応じた適切な RBS クライアントをダウンロードします。 次の一覧の 1 つを使用して、適切なインストールを選択します。
SharePoint Server Subscription Edition では、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 ファイルは Feature Pack からダウンロードするだけで済みますが、必ず x64 バージョンをダウンロードしてください。
SharePoint Server サブスクリプション エディションの場合は、次の一覧から正しいインストールを選択します。
SharePoint Server 2019 の場合は、次の一覧から正しいインストールを選択します。
SharePoint Server 2016 では、次の一覧から適切なインストールを選択します。
SharePoint 2013 では、次の一覧から適切なインストールを選択します。
Copy and paste the following command into the Command Prompt window. WSS_Content をデータベース名に置き換え、DBInstanceName を SQL Server インスタンスの名前に置き換えます。 The action should finish within approximately one minute.
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"
SharePoint ファーム内にあるすべてのフロントエンド サーバーとアプリケーション サーバーについて、この手順を繰り返します。
注:
RBS プロバイダーがインストールされていない SharePoint Server アプリケーション サーバーで Visio Web サービスをインストールする場合、このサーバーから Visio 図面を開こうとすると、Visio のエラーが発生します。 Visio Graphics Service を実行する SharePoint Server サーバーで Visio 図面を開く場合は、このサーバーに RBS クライアントをインストールする必要があります。
RBS クライアント ライブラリのインストールを確認するには
RBS_amd64.msi ファイルと同じ場所に rbs_install_log.txt ログ ファイルが作成されます。 テキスト エディターで rbs_install_log.txt ログ ファイルを開き、ファイルの下方にスクロールします。 ファイルの最後の 20 行の中に " 製品: SQL リモート BLOB ストレージ -- インストールが正常に終了しました" というエントリがあるはずです。
Service Pack 1 (SP1) または SQL Server 2008 を実行しているコンピューターで、コンテンツ データベース内に RBS テーブルが作成されていることを確認します。 コンテンツ データベースの下に "mssqlrbs" で始まる名前のテーブルがいくつか存在するはずです。
コンテンツ データベースごとに RBS を有効にする
SharePoint ファーム内にある Web サーバーの 1 つで RBS を有効にする必要があります。 前の手順を使用して RBS がインストールされていれば、どの Web サーバーでこの操作を行ってもかまいません。 この手順は、それぞれのコンテンツ データベースで一度だけ行う必要があります。
注:
RBS を有効にするには、Microsoft PowerShell を使用するしかありません。
Microsoft PowerShell を使用して RBS を有効にするには
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
SharePoint 管理シェルを起動します。
Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
$cdb = Get-SPContentDatabase <ContentDatabaseName> $rbss = $cdb.RemoteBlobStorageSettings $rbss.Installed() $rbss.Enable() $rbss.SetActiveProviderName($rbss.GetProviderNames()[0]) $rbss
ここで<ContentDatabaseName>はコンテンツ データベースの名前です。
詳細については、「Get-SPContentDatabase」を参照してください。
Web アプリケーションに db_owner のアクセス許可を割り当てる
重要
RBS が有効なコンテンツ データベースにアクセスする Web アプリケーションが、そのデータベースの db_owner 固定データベース ロールのメンバーであることを確認します。
RBS インストールをテストする
SharePoint ファーム内にあるフロントエンド サーバーの 1 つで RBS インストールをテストして、システムが適切に動作することを確認する必要があります。
RBS データ ストアをテストするには
RBS データ ストアが置かれているコンピューターで、[ スタート] ボタン、[ コンピューター] の順にクリックします。
RBS データ ストア ディレクトリに移動します。
フォルダーが空であることを確認します。
100 キロバイト (KB) 以上のファイルを SharePoint ファームのドキュメント ライブラリにアップロードします。
RBS データ ストアが置かれているコンピューターで、[ スタート] ボタン、[ コンピューター] の順にクリックします。
RBS データ ストア ディレクトリに移動します。
ファイルの一覧を参照し、変更日が最新のファイルを開きます。 そのファイルが先ほどアップロードしたファイルであることを確認します。
関連項目
SharePoint Server で RBS の使用を決める
SharePoint 2013 および SQL Server 2012 で RBS をインストールおよび構成する