SharePoint Server で Search service アプリケーションを復元する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
SharePoint サーバーの全体管理 Web サイト、Microsoft PowerShell、または SQL Server ツールを使用して、SharePoint Server Search Service を復元することができます。 使用する復元ツールは、展開した環境の種類、スケジュールの要件、および組織と締結しているサービス レベル契約によって異なります。
はじめに
ファーム全体ではなく、特定のサービス アプリケーションのみを復元することが必要となる場合があります。 SharePoint Search Service アプリケーション、Business Data Connectivity Service アプリケーション、User Profile Service サービス アプリケーションなどの一部のサービス アプリケーションでは、他のサービスやサイトにデータを提供する場合があります。 このため、サービスによっては、復元処理が終了するまで、一時的に利用できなくなる可能性があります。
この操作を開始する前に、次の情報を確認してください。
Search Service のバックアップと復元は、ファームの状態に影響を与えることはありません。 ただし、リソースは消費されます。 そのため、Search Service のバックアップと復元の実行中はファームのパフォーマンスが低下するおそれがあります。 パフォーマンスの問題を回避するには、Search Service のバックアップを、ファームへのアクセスが最も少ない時間帯に実行するようにしてください。
SQL Server ツールを使用してサービス アプリケーション全体を復元することはできません。 ただし、サービス アプリケーションに関連付けられているデータベースを復元できます。
シソーラス ファイルを復元する
シソーラス ファイルは、検索クエリに出現する語句の同義語を指定するために使用されます。 SharePoint Serverの外部のシステムでシソーラス ファイルを作成して維持し、それを SharePoint Serverにインポートして検索システムで利用することができます。 そのため、シソーラス ファイルは既定の SharePoint Server Search Service バックアップの手順には含まれず、以降に説明する Search Service 復元手順にも含まれません。
シソーラス ファイルを復元するには
次のいずれかの手順に従って、SharePoint Server Search service アプリケーションを復元します。
必要であれば、シソーラス ファイルの作成と維持に使用している外部システムの復元手順を使用して、シソーラス ファイルを復元してください。
シソーラス ファイルを SharePoint Serverの検索システムにインポートするには、「シソーラスを展開する」の説明に従って、Import-SPEnterpriseSearchThesaurus PowerShell コマンドレットを使用します。
PowerShellを使用して SharePoint Search Service アプリケーションを復元する
PowerShell を使用してサービス アプリケーションを復元できます。
PowerShell を使用して Search service アプリケーションを復元するには
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
ファームの管理者 SharePoint グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell アクセス許可の詳細については、「Add-SPShellAdmin」を参照してください。
復元しているサーバーでは、バックアップを作成したサーバーと同じドライブ マッピングを使用することを確認してください。
SharePoint 管理シェルを起動します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
Restore-SPFarm -Directory <BackupFolder> -Item "<ServiceApplicationName>" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]
詳細は次のとおりです。
<BackupFolder> is the path for the backup folder where the service application was backed up.
<ServiceApplicationName> は、サービス アプリケーションの名前です。
<GUID> は、使用するバックアップの ID です。
使用するバックアップを指定するには、
BackupId
パラメーターを使用します。 ファームのバックアップを表示するには、次のように入力します:Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup
。BackupId
を指定しない場合は、最新のバックアップが使用されます。 構成専用のバックアップからはサービス アプリケーションを復元できません。すべてのサービス アプリケーションを復元するには、PowerShell のコマンド プロンプトで次のコマンドを入力します。
Restore-SPFarm -Directory <BackupFolder> -Item "Farm\Shared Service Applications" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]
詳細は次のとおりです。
<BackupFolder> is the path for the backup folder where the service application was backed up.
<GUID> は、使用するバックアップの ID です。
詳細については、「Restore-SPFarm」を参照してください。
Search Service アプリケーションは、復元すると自動的に一時停止します。 復元の完了時に Search Service アプリケーションを再開するには、次のコマンドを入力します。
$ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>$ssa.ForceResume(0x02)
詳細は次のとおりです。
- <SearchServiceApplicationName> は再開するサービス アプリケーションの名前です。
注:
インデックス ファイルはインデックス パーティションごとに 1 つのレプリカに復元されます。 復元の完了後、各レプリカのインデックスが他のインデックス レプリカにレプリケートされます。 このプロセス中には、検索トポロジは完全に機能し、クロールおよびクエリを使用できますが、フォールト トレラントではありません。
ファームとインデックスのサイズによっては、処理に数時間かかることがあり、インデックス レプリカは検索管理 UI および Get-SPEnterpriseSearchStatus Microsoft PowerShell コマンドレットの出力で劣化して表示されます。
注:
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。 Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。
サーバーの全体管理を使用して SharePoint Search Service アプリケーションを復元する
SharePoint サーバーの全体管理 Web サイトを使用して Search Service アプリケーションを復元するには、次の手順を使用します。
サーバーの全体管理を使用して Search service アプリケーションを復元するには
この手順を実行しようとしているユーザー アカウントが、ファームの管理者 SharePoint グループのメンバーであることを確認します。
復元しているサーバーでは、バックアップを作成したサーバーと同じドライブ マッピングを使用することを確認してください。
サーバーの全体管理 を起動します。
サーバーの全体管理のホームページの [ バックアップと復元] セクションで、[ バックアップからの復元] をクリックします。
[バックアップからの復元 - ステップ 1/3: 復元するバックアップの選択] ページで、バックアップの一覧からサービス アプリケーションのバックアップまたはファーム レベルのバックアップを含むバックアップ ジョブを選択し、[ 次へ] をクリックします。 それぞれのバックアップの詳細な情報は、横にあるプラス記号 (+) をクリックすることで確認できます。
注:
正しいバックアップ ジョブが表示されない場合は、 [バックアップ ディレクトリの場所] ボックスに正しいバックアップ フォルダーのパスを入力してから、 [更新] をクリックします。 > 構成のみのバックアップを使用してファームを復元することはできません。
[バックアップからの復元 - ステップ 2/3: 復元するコンポーネントの選択] ページで、[ 共有サービス アプリケーション] を展開し、Search Service アプリケーションの横にあるチェック ボックスをオンにして、[ 次へ] をクリックします。 すべてのサービス アプリケーションを復元するには、[ 共有サービス アプリケーション] ノードをオンにします。
[バックアップからの復元 - 手順 3/3: 復元オプションの選択] ページの [復元コンポーネント] セクションで、Farm\Shared Services Applications\<Service アプリケーション>が [次のコンポーネントの復元] の一覧に表示されていることを確認します。
[ 復元オプション] セクションの [ 復元の種類] で、[ 同じ構成] オプションを選択します。 操作の確認を求めるダイアログが表示されます。 [OK] をクリックします。
[ 復元の開始] をクリックします。
[バックアップと復元のジョブ状態] ページの上部にある [ 状態] セクションで、すべての復旧ジョブの全般的な状態を確認できます。 現在の復旧ジョブの状態は、このページの下部にある [ 復元] セクションで確認できます。 この状態ページは 30 秒ごとに自動的に更新されます。 また、[ 更新] をクリックすることで、手動で状態を更新できます。 バックアップと復元は Timer Service を使用したジョブです。 したがって、復元が開始されるまで数秒かかる場合があります。
エラーが表示された場合は、[バックアップと復元のジョブ状態] ページの [ エラー メッセージ] 列を確認します。 詳細については、手順 3 で指定した UNC パスのSprestore.log ファイルでも確認できます。
Search Service アプリケーションは、復元すると自動的に一時停止します。 復元の完了時に Search Service アプリケーションを再開するには、PowerShell を使用する必要があります。
PowerShell のコマンドレットを実行するサーバーで、Administrators グループのメンバーとしてログオンしていることを確認します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell アクセス許可の詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルを起動します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
$ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName> $ssa.ForceResume(0x02)
詳細は次のとおりです。
- <SearchServiceApplicationName> は再開するサービス アプリケーションの名前です。
注:
インデックス ファイルはインデックス パーティションごとに 1 つのレプリカに復元されます。 復元の完了後、各レプリカのインデックスが他のインデックス レプリカにレプリケートされます。 このプロセス中には、検索トポロジは完全に機能し、クロールおよびクエリを使用できますが、フォールト トレラントではありません。 ファームとインデックスのサイズによっては、処理に数時間かかることがあります。 インデックス レプリカは、検索管理 UI およびプロセス時の Get-SPEnterpriseSearchStatus Microsoft PowerShell コマンドレットの出力で劣化して表示されます。
SQL Server ツールを使用して Search Service アプリケーションのデータベースを復元する
SQL Server ツールを使用して SharePoint Search Service アプリケーション全体を復元することはできません。 ただし、Search Service アプリケーションに関連付けられているデータベースであれば、SQL Server ツールを使用して復元することができます。 Search Service アプリケーション全体を復元するには、PowerShell またはサーバーの全体管理を使用します。
SQL Server ツールを使用して Search Service アプリケーションのデータベースを復元するには
データベースの復元に使用するユーザー アカウントは、各データベースが格納されているデータベース サーバー上で、SQL Server sysadmin 固定サーバー ロールのメンバーである必要があります。
SQL Server Management Studio を開き、データベース サーバーに接続します。
オブジェクト エクスプローラーで、[ データベース] を展開します。
復元するデータベースを右クリックして [ タスク] をポイントし、[ 復元] をクリックします。次に [ データベース] をクリックします。
[ データベースの復元 ] ダイアログの [全般] ページで、[データベースへ] ドロップダウン リストから復元先 のデータベースを 選択します。
[ データベースから] ドロップダウン リストで、復元元を選択します。
[ 復元するバックアップ セットの選択] 領域で、データベースの横のチェック ボックスをオンにします。
[オプション] タブの [ 復旧状態] セクションで復旧状態を選択します。
使う復旧の種類について詳しくは、「復旧モデル (SQL Server)」をご覧ください。
[ OK] をクリックして、データベースを復元します。
サービス アプリケーションに関連付けられているデータベースごとに、手順 1. ~ 9. を繰り返します。