SharePoint Server で BLOB キャッシュをフラッシュする
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
BLOB キャッシュはディスク ベースのキャッシュで、頻繁に使用される画像、オーディオ、ビデオ ファイルや、Web ページの表示に使用されるその他のファイルなどの、バイナリ ラージ オブジェクト (BLOB) を格納します。 各 SharePoint フロントエンド サーバーは、独自の BLOB キャッシュを保持します。 BLOB キャッシュを有効にする場合、キャッシュに含めるファイルの種類、および BLOB キャッシュの場所も指定します。 BLOB ファイルが初めて要求されると、ファイルがデータベースからフロントエンド サーバー上の BLOB キャッシュにコピーされます。 その後、同じファイルのフロントエンド サーバーに対する今後の要求は、データベースから提供されるのではなく、BLOB キャッシュに格納されているファイルから処理されます。 これによりネットワーク トラフィックとデータベース サーバーの負荷が軽減されます。
BLOB キャッシュの詳細については、「 SharePoint Server でのキャッシュとパフォーマンスの計画」を参照してください。
BLOB キャッシュをフラッシュする
BLOB キャッシュをフラッシュすると、Web アプリケーションの BLOB キャッシュのコンテンツをクリアします。 これは、BLOB キャッシュがコンテンツと同期しなくなった場合に役立ちます。 たとえば、コンテンツ データベースを復元すると、BLOB キャッシュはコンテンツと同期しなくなります。 この状況を解決するには、BLOB キャッシュをフラッシュする必要があります。 以下の手順では、Web アプリケーションの BLOB キャッシュをフラッシュする方法を示します。
注意
Web アプリケーションの BLOB キャッシュをフラッシュすると、その Web アプリケーション内にあるすべてのサイト コレクションに影響を及ぼします。
注:
ユーザー インターフェイスを使用して、BLOB キャッシュをフラッシュすることはできません。 代わりに、Microsoft PowerShell と SharePoint オブジェクト モデルを使用してこのタスクを完了します。
BLOB キャッシュをフラッシュするには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可の詳細については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
- 以下のコードをコピーし、メモ帳などのテキスト エディターに貼り付けます。
$webApp = Get-SPWebApplication "<WebApplicationURL>"
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host "Flushed the BLOB cache for:" $webApp
<WebApplicationURL> を、BLOB キャッシュをクリアする Web アプリケーションの URL に置き換えます。
ファイルを、FlushBLOBCache.ps1 という名前を付けて保存します。
注:
別のファイル名にすることもできますが、ファイルは ANSI 形式のテキスト ファイル (ファイル名拡張子は .ps1) として保存する必要があります。
SharePoint 管理シェル を開きます。
ファイルの保存先のディレクトリに移動します。
Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
./FlushBLOBCache.ps1