SharePoint Server でサービス アプリケーション データベースの移動または名前の変更を行う

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

SharePoint Server でサービス アプリケーション データベースを移動または名前変更する方法について説明します。

サービス アプリケーション データベースを別のファーム データベース サーバーに移動する主な理由は、ファームの負荷分散です。 また、新しいハードウェアに移動しなければならない場合もあります。

サービス アプリケーション データベースの名前変更は、SharePoint 製品構成ウィザードと SharePoint Server 製品構成ウィザードを使用してファームにサービス アプリケーション データベースを作成した後に、データベース名から GUID を削除するためによく行われます。 また、データベース名を組織の名前付け規則に合わせなければならない場合もあります。

サービス アプリケーション データベースの移動と名前の変更は、どちらも同じ基本的なプロセスに従いますが、サービス アプリケーション データベースを移動する場合は手順がいくつか多くなります。

  1. SharePoint Server のサービス アプリケーション データベースの移動または名前の変更を行うには、Microsoft SQL Server Management Studio または Microsoft PowerShell を使用します。

  2. SharePoint サービス アプリケーションの接続先を、移動または名前の変更を行ったデータベースに変更するには、SharePoint サーバーの全体管理 Web サイトまたは PowerShell のいずれかを使用します。

    移動または名前の変更を行うサービス アプリケーション データベースの数に応じて、データベースをサービス アプリケーションの接続先にする手順が複雑になる場合があります。 サービス アプリケーションが異なると、移動または名前の変更を行ったデータベースを接続先にする方法が異なります。

これらのサービス アプリケーション データベースでは次の手順を使用します。

  • App Management Service

  • Managed Metadata Service

  • PerformancePoint Service

  • Secure Store Service

  • SharePoint Translation Services

  • State Service

  • Subscription Settings Service

  • Word Automation Services

  1. サービス アプリケーションを停止または無効にします。

  2. データベースをデタッチします。

  3. データベースの移動または名前の変更を行います。

  4. データベースをアタッチします。

  5. 移動したまたは名前を変更したデータベースをサービス アプリケーションの接続先にします。

  6. サービス アプリケーションを再起動します。

Business Data Connectivity Service と User Profile Service アプリケーションのデータベースでは、データベースの移動や名前の変更を行うために次の手順が必要です。

  1. サービス アプリケーションを停止または無効にします。

  2. データベースをデタッチします。

  3. データベースの移動または名前の変更を行います。

  4. データベースをアタッチします。

  5. 移動したまたは名前を変更したデータベースをサービス アプリケーションの接続先にします。

  6. サービス アプリケーションを削除します。

  7. サービス アプリケーションを再作成します。

  8. サービス アプリケーションを再起動します。

Search Service アプリケーション データベースでは次の手順が必要です。

  1. サービス アプリケーションを一時停止します。

  2. Search Service アプリケーションを読み取り専用に設定します。

  3. サービス アプリケーションをバックアップします。

  4. SQL Server をホストする新しいサーバーで並列処理の最大限度を 1 に設定します。

  5. Search Service アプリケーションを新しいデータベース サーバーに復元します。

  6. Search Service アプリケーションを読み取り/書き込み可能に設定します。

  7. サービス アプリケーションを開始します。

  8. 移動または名前の変更を行ったデータベースを Search Service アプリケーションの接続先にします。

SQL Server を使用してサービス アプリケーション データベースの移動または名前の変更を行うための一般的な手順

サービス アプリケーション データベースを移動するには、SQL Serverを使用する必要があります。 サービス アプリケーション データベースの名前を変更するには、SQL Serverとエクスプローラーを使用する必要があります。

注意

1 つの手順でデータベースの移動と名前の変更を行わないでください。 データベースの移動、または名前の変更のいずれかを行い、両方のアクションを同時に行わないでください。

サービス アプリケーション データベースの移動または名前の変更を行う場合、最初に、変更するデータベースのサービス アプリケーションを停止します。 サーバーの全体管理または PowerShell を使用して、サービスを停止または開始できます。

手順 1: サーバーの全体管理を使用してサービス アプリケーションを停止するには

  1. Farm Administrators SharePoint グループのメンバーであるアカウントを使用します。

  2. サーバーの全体管理で、[システム設定] をクリックします。

  3. [システム設定] ページで、[サーバー] セクションの [サーバーのサービスの管理] をクリックします。

  4. 停止するサービス アプリケーションを検索し、サービスの [アクション] 列で [停止] または [無効] をクリックして、[OK] をクリックします。

PowerShell を使用してサービスを停止するには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. 次の手順のために、サービス GUID を知っている必要があります。 Get-SPServiceInstance コマンドレットを使用して、ファームのすべてのサービスと GUID の一覧を取得します。

  4. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Stop-SPServiceInstance -Identity <ServiceGUID>
    

    ServiceGUID<> はサービスの GUID です。

    詳細については、「Stop-SPServiceInstance」を参照してください。

SQL Server Management Studio とエクスプローラーを使用してデータベースを移動する

データベースを移動するには、最初にデータベースを SQL Server からデタッチし、エクスプローラーを使用してファイルを新しい場所に移動し、データベースを SQL Server の新しいインスタンスにアタッチします。

手順 2: データベースを SQL Server からデタッチするには

  1. 移動するすべてのデータベースに対して db_owner 固定データベース ロールを持つアカウントを使用します。

  2. SQL Server Management Studio で、サービス アプリケーション データベースがアタッチされている SQL Server インスタンスに接続し、[データベース] ノードを展開します。

  3. データベースを右クリックして、[ タスク] をポイントし、[ デタッチ] をクリックします。 移動するデータベースごとにこの操作を繰り返します。

手順 3: エクスプローラーを使用して、データベース ファイルを新しい場所に移動するには

  1. 移動元の場所に対する読み取りアクセス許可、および移動先の場所に対する書き込みアクセス許可を持つアカウントを使用します。

  2. エクスプローラーで、サービス アプリケーション データベースの .mdf、.ndf、.ldf ファイルを検索し、移動するものを選択します。 通常、データベース ファイルはここで見つかります。 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLServer\MSSQL\Data

  3. データベース ファイルを新しい場所にコピーまたは移動します。

手順 4: データベースを SQL Server の新しいインスタンスにアタッチするには

  1. 移動するすべてのデータベースに対して db_owner 固定データベース ロールを持つアカウントを使用します。

  2. SQL Server Management Studio で、移動先の SQL Server インスタンスを開きます。

  3. [データベース] ノードを右クリックし、[タスク] をポイントして、[アタッチ] をクリックします。

  4. [ データベースのアタッチ ] ダイアログで、.mdf、.ndf、および .ldf ファイルを移動した場所を参照し、アタッチするデータベースの .mdf ファイルを選択し、[OK] をクリック します。 この手順を移動するデータベースごとに繰り返します。

SQL Server Management Studio を使用してデータベースの名前を変更する

サービス アプリケーション データベースの名前変更は、データベースを移動する場合と同様に、最初にサービスを停止する 2 つの手順です。 次に、SQL Server Management Studioを使用してデータベースの名前を変更します。

手順 3: SQL Server を使用してデータベースの名前を変更するには

  1. SQL Server Management Studio で、ソースの SQL Server インスタンスに接続し、[データベース] ノードを展開します。

  2. 名前を変更するデータベースを右クリックし、[ 名前の変更] をクリックして、新しい名前を入力します。 名前を変更するデータベースごとにこの手順を繰り返します。

移動または名前の変更を行ったデータベースを SharePoint Server サービス アプリケーションの接続先にする

次の手順では、移動または名前の変更を行ったデータベースを接続先にします。 これを行うには、サーバーの全体管理または PowerShell を使用します。 サーバーの全体管理を使用して、移動または名前変更されたデータベースにサービス アプリケーションをポイントすることは、ほとんどの SharePoint Server サービス アプリケーションで同じです。 PowerShell を使用して、移動または名前変更されたデータベースにサービス アプリケーションをポイントすると、サービス アプリケーションごとに異なります。 ここでは、各サービス アプリケーションとデータベースのためのガイダンスを提供します。

手順 5: サーバーの全体管理を使用して、移動または名前の変更を行ったデータベースをサービス アプリケーションの接続先にするには

  1. Farm Administrators SharePoint グループのメンバーであるアカウントを使用します。

  2. サーバーの全体管理の [アプリケーション構成の管理] で、[サービス アプリケーションの管理] をクリックします。

  3. [サービス アプリケーションの管理] ページで、サービス アプリケーションの名前の横の列の空白部分をクリックします。 リボンがアクティブになり、[ プロパティ ] をクリックすると、[ サービス アプリケーションの編集 ] ダイアログが表示されます。

  4. データベース サーバーまたはデータベース名を変更し、[OK] をクリックします。

PowerShell を使用して、移動または名前の変更を行ったデータベースを Managed Metadata Service アプリケーションの接続先にするには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $app = Get-SPServiceApplication -Name "<ServiceApplicationName>"
    Set-SPMetadataServiceApplication -Identity "<Name/GUID of service application>" $app -DatabaseName "<DatabaseName>" -DatabaseCredentials PSCredential object>
    

    詳細は次のとおりです。

    • <ServiceApplicationName> は、Managed Metadata Service アプリケーションの名前です。

    • <DatabaseName> は、名前を変更したデータベースの名前です。

PowerShell を使用して、名前の変更または移動を行ったデータベースを PerformancePoint Service アプリケーションの接続先にするには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Set-SPPerformancePointServiceApplication -Identity "<ServiceApplicationName>" -SettingsDatabase "<DatabaseServerName\DatabaseName>"
    

    詳細は次のとおりです。

    • <ServiceApplicationName> は、PerformancePoint Service アプリケーションの名前です。

    • <DatabaseServerName\DatabaseName> は、名前が変更または移動されたデータベースの場所と名前です。 データベースの名前のみを変更する場合は、場所は指定しません。

State Service データベースには一時的な状態情報データが格納されています。 PowerShell を使用すると、次のいずれかの手順を実行して、移動されたデータベースに State Service サービス アプリケーションをポイントできます。

PowerShell を使用して新しいデータベースを State Service サービス アプリケーションに追加し、古いデータベースを削除するには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力して新しいデータベースを作成します。

    New-SPStateServiceDatabase -Name "<NewDatabaseName>"
    

    次のコマンドを入力して古いデータベースを削除します。

    Remove-SPStateServiceDatabase -Name "<OldDatabaseName>"
    

    詳細は次のとおりです。

    • <NewDatabaseName> は、新しく作成するデータベースの名前です。

    • <OldDatabaseName> は、State Service との関連付けを解除して SQL Server からデタッチする古いデータベースの名前です。

PowerShell を使用して、移動したデータベースを State Service サービス アプリケーションの接続先にするには

  1. SharePoint 管理シェルを起動します。

  2. PowerShell コマンド プロンプトで、次のコマンドを入力してデータベースのマウントを解除します。

    Dismount-SPStateServiceDatabase -Identity <DatabaseID>
    

    DatabaseID<> は、サービス アプリケーションから削除する State Service データベースです。 The type must be a valid GUID in the form 12345678-90ab-cdef-1234-567890bcdefgh, a valid name of a state database, or an instance of a valid SPStateServiceDatabase object.

    詳細については、「Dismount-SPStateServiceDatabase」を参照してください。

  3. データベースを移動します。 詳細については、「SQL Server Management Studioとエクスプローラーを使用してデータベースを移動する」を参照してください。

  4. PowerShell コマンド プロンプトで、次のコマンドを入力して、名前の変更または移動を行ったデータベースをマウントします。

    Mount-SPStateServiceDatabase -Name "<DatabaseName>" -DatabaseServer "<ServerName>"
    

    詳細は次のとおりです。

    • <DatabaseName> は、State Service と関連付けるデータベースの名前です。

    • <ServerName> は、State Service データベースをホストする SQL Server の名前です。

PowerShell を使用して、移動を行ったデータベースを Usage and Health Data Collection Service アプリケーションの接続先にするには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Set-SPUsageApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DbName>" -DatabaseServer "<SQLServerName>"
    

    詳細は次のとおりです。

    • <ServiceApplicationName> は、Usage and Health Data Collection Service アプリケーションの名前です。

    • <DatabaseName> は、データベースの名前です。

    • <SQLServerName> は、データベース サーバーの名前です。

PowerShell を使用して、名前の変更または移動を行ったデータベースを Word Automation Service アプリケーションの接続先にするには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $app = Get-SPServiceApplication -Name "<ServiceApplicationName>"
    Set-SPWordConversionServiceApplication -Identity $app -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"
    

    詳細は次のとおりです。

    • <ServiceApplicationName> は、Word Automation Services アプリケーションの名前です。

    • <DatabaseName> は、名前の変更または移動を行ったデータベースの名前です。

    • <DatabaseServer> is the location of the renamed or moved database. Do not include this parameter if you are pointing to a renamed database in the same location.

PowerShell を使用して、移動を行ったデータベースを Subscription Settings Services サービス アプリケーションの接続先にするには

  1. これらのメンバーシップを持つアカウントを使用します。

    • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    注:

    Microsoft PowerShell の権限に関する追加情報については、「権限」を参照してください。

  2. SharePoint 管理シェルを起動します。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Set-SPSubscriptionSettingsServiceApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"
    

    詳細は次のとおりです。

    • <ServiceApplicationName> は、Subscription Settings Service アプリケーションの名前です。

    • <DatabaseName> は、名前を変更したデータベースの名前です。

    • <DatabaseServer> は、名前を変更したデータベースのサーバーの名前です。

手順 6: サーバーの全体管理を使用してサービス アプリケーションを起動するには

  1. Farm Administrators SharePoint グループのメンバーであるアカウントを使用します。

  2. サーバーの全体管理で、[システム設定] をクリックします。

  3. [システム設定] ページで、[サーバー] セクションの [サーバーのサービスの管理] をクリックします。

  4. 必要なサービス アプリケーションを検索し、サービスの [アクション] 列で [開始] をクリックして、[OK] をクリックします。

Business Data Connectivity Service およびユーザー プロファイル サービス アプリケーションのデータベースの移動または名前の変更を行うための手順

Business Data Connectivity Service アプリケーションおよびユーザー プロファイル サービス アプリケーションのデータベースの移動または名前の変更を行う場合、追加の手順が必要です。 両方のサービス アプリケーション データベースに必要な追加の手順として、データベースの移動または名前の変更を行った後、サービス アプリケーションを削除して作成し直すことをお勧めします。

次の手順では、Business Data Connectivity サービス アプリケーションを移動または削除する方法を示します。

Business Data Connectivity Service アプリケーションを停止するには

  1. Farm Administrators SharePoint グループのメンバーであるアカウントを使用します。

  2. サーバーの全体管理で、[システム設定] をクリックします。

  3. [システム設定] ページで、[サーバー] セクションの [サーバーのサービスの管理] をクリックします。

  4. 停止するサービス アプリケーションを検索し、サービスの [アクション] 列で [停止] または [無効] をクリックして、[OK] をクリックします。

PowerShell を使用してサービスを停止するには

  1. SharePoint 管理シェルを起動します。

  2. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Stop-SPServiceInstance -Identity <ServiceGUID>
    

    ServiceGUID<> はサービスの GUID です。 サービスの GUID が不明な場合は、Get-SPServiceInstance コマンドレットを使用して、ファーム内のすべてのサービスの一覧をそれらの GUID を含めて取得できます。

    詳細については、「Stop-SPServiceInstance」および「Get-SPServiceInstance」を参照してください。

手順 2: データベースを SQL Server からデタッチするには

  1. 移動するすべてのデータベースに対して db_owner 固定データベース ロールを持つアカウントを使用します。

  2. SQL Server Management Studio で、ソースの SQL Server インスタンスに接続し、[データベース] ノードを展開します。

  3. データベースを右クリックして、[ タスク] をポイントし、[ デタッチ] をクリックします。 移動するデータベースごとにこの操作を繰り返します。

手順 3: エクスプローラーを使用して、データベース ファイルを新しい場所に移動するには

  1. 移動元の場所に対する読み取りアクセス許可、および移動先の場所に対する書き込みアクセス許可を持つアカウントを使用します。

  2. エクスプローラーで、サービス アプリケーション データベースの .mdf、.ndf、.ldf ファイルを検索し、移動するものを選択します。 通常、データベース ファイルはここで見つかります。 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLServer\MSSQL\Data

  3. データベース ファイルを新しい場所にコピーまたは移動します。

手順 4: データベースを SQL Server の新しいインスタンスにアタッチするには

  1. 移動するすべてのデータベースに対して db_owner 固定データベース ロールを持つアカウントを使用します。

  2. SQL Server Management Studio で、移動先の SQL Server インスタンスを開きます。

  3. [データベース] ノードを右クリックし、[タスク] をポイントして、[アタッチ] をクリックします。

  4. [ データベースのアタッチ ] ダイアログで、.mdf、.ndf、および .ldf ファイルを移動した場所を参照し、アタッチするデータベースの .mdf ファイルを選択し、[OK] をクリック します。 この手順を移動するデータベースごとに繰り返します。

移動したデータベースを Business Data Connectivity Service アプリケーションの接続先にする

移動後のデータベースをサービス アプリケーションの接続先にする方法として、多くのサービス アプリケーションで使用できるのは、サービス アプリケーションをいったん削除して再作成するという方法です。 サービス アプリケーションを再作成するときに、新しい名前と新しい場所を指定します。

サービス アプリケーションの設定を記録するには

サービス アプリケーションの削除と再作成を行う前に、サービス アプリケーションの設定を記録します。 これを行うには、 SharePoint Server のドキュメント ファーム構成設定に関する記事で説明されている推奨される PowerShell コマンドレットを使用します。

サーバーの全体管理を使用してサービス アプリケーションを削除するには

  1. Farm Administrators SharePoint グループのメンバーであるアカウントを使用します。

  2. サーバーの全体管理で、[アプリケーション構成の管理] をクリックし、[サービス アプリケーションの管理] をクリックします。

  3. [ サービス アプリケーション] ページで、カーソルを Business Data Connectivity Service の横に置き、空の行をクリックします。

    リボンが使用可能になります。

  4. リボンの [ 削除] をクリックします。

  5. サービス アプリケーション データベースを削除する場合は、[サービス アプリケーションの削除] ダイアログで、[ サービス アプリケーションに関連付けられているデータを 削除する] の横にあるチェック ボックスをオンにします。 データベースを残しておく場合は、このチェック ボックスをオフにします。

  6. [ OK] をクリックしてサービス アプリケーションを削除するか、[ キャンセル] をクリックして操作を中止します。

サービス アプリケーションを作成するには

Business Data Connectivity Service アプリケーションを作成するには、「SharePoint Server で Business Data Connectivity サービス アプリケーションを構成する」の手順を実行します。

サービス アプリケーションを起動するには

  1. サービス アプリケーションを起動するには、「SharePoint Server でのサービスの開始または停止」を参照してください。

SharePoint Server 2013 および SharePoint Server 2016 で Search Service アプリケーション データベースを移動または名前変更する手順

Search Service アプリケーション データベースを移動するには、SQL Server、SQL Server Management Studio、および Windows エクスプローラーを使用します。 移動したデータベースをポイントするには、PowerShell を使用する必要があります。 次の手順は、記載されている順序で実行してください。

重要:

操作を実行するために使用するアカウントには、次のメンバーシップおよびアクセス許可が必要です。

  • Farm Administrators SharePoint グループのメンバー。

  • ローカル サーバーの Administrators グループのメンバー。

  • ソースの場所に対する読み取りアクセス許可、およびターゲットの場所に対する書き込みアクセス許可。

  • 移動するすべてのデータベースに対する db_owner 固定データベース ロール。

  • 移動するすべてのデータベースに対する db_creator および securityadmin ロール。

Search Service アカウントには次のロールが必要です。

  • 管理データベース、リンク データベース、およびクロール データベースに対する db_owner 固定データベース ロール。

  • 分析レポート データベースに対する SPSearchDBAdmin データベース ロール。

環境によっては、データベース管理者との間で名前の変更と移動の手順を調整する必要があります。 データベースを操作する際は、適用されるポリシーとガイドラインに必ず従ってください。

PowerShell を使用して Search Service アプリケーションを一時停止するには

  1. SharePoint 管理シェルを起動します。

  2. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
    

    SearchServiceApplicationName<> は、データベースの移動に関連付けられているSearch Service アプリケーションの名前です。

Search Service アプリケーション データベースの読み取り専用モードの設定を変更するには

  1. コンテンツ データベース上の db_owner 固定データベース ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を開き、データベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. 次のデータベースは読み取り専用モードに設定します。

    • 検索管理

    • 分析レポート

    • クロール

    • リンク

    • 読み取り/書き込み可能または読み取り専用に設定するデータベースを右クリックし、[ プロパティ] をクリックします。

    • [ データベースのプロパティ ] ダイアログの [オプション のプロパティ] ページの [ 状態 ] セクションで、[データベースの読み取り専用] の横にある一覧で [True ] または [False ] を選択し、[OK] をクリック します

    • [はい] をクリックします。

Search Service アプリケーション データベースをバックアップするには

  1. 各データベースが保存されているデータベース サーバーの SQL Server db_backupoperator 固定データベース ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を起動し、Search サービス アプリケーション データベースが格納されているデータベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. バックアップするデータベースを右クリックし、[ タスク] をポイントしてから、[ バックアップ] をクリックします。

  5. [ データベースのバックアップ ] ダイアログの [ ソース ] 領域で、[バックアップの種類] の一覧から実行する バックアップの種類 を選択します。

    使用するバックアップの種類の詳細については、「復旧モデル (SQL Server)」をご覧ください。

  6. [バックアップ コンポーネント] 領域で [データベース] をクリックします。

  7. 既定の名前を使用するか、バックアップ セットの名前を [ 名前] ボックスで指定します。

  8. バックアップ セットの有効期限を指定します。

    この日付によって、以降の同名のバックアップ セットで上書きできるタイミングが決まります。 既定では、バックアップ セットは無期限 (0 日) に設定されます。

  9. [ バックアップ先] 領域で、バックアップを格納する場所を指定します。

  10. [ OK] をクリックして、データベースをバックアップします。

  11. 次のデータベースについて手順 1. ~ 10. を繰り返します。

    • 検索管理

    • 分析レポート

    • クロール

    • リンク

SQL Server をホストする新しいサーバーで並列処理の最大限度の値を 1 に設定するには

  1. SQL Server Management Studio を起動し、Search サービス アプリケーション データベースを移動する先の SQL Server をホストする新しいサーバーに接続します。

  2. [ オブジェクト エクスプローラー] で、データベース サーバーを右クリックし、[ プロパティ] をクリックします。

  3. [詳細設定] をクリックします。

  4. [ 並列処理の最大限度] ボックスの一覧で [ 1] を選択し、並列計画の実行で使用するプロセッサの数を制限します。

    詳しくは、max degree of parallelism サーバー構成オプションの構成」を参照してください。

Search Service アプリケーション データベースを新しいデータベース サーバーに復元するには

  1. 各データベースが保存されているデータベース サーバーの SQL Server sysadmin 固定サーバー ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を起動し、データベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. 復元するデータベースを右クリックして [ タスク] をポイントし、[ 復元] をクリックします。次に [ データベース] をクリックします。

  5. [ データベースの復元 ] ダイアログの [ 全般 ] ページで、復元先のデータベースを [ データベース へ] の一覧から選択します。

  6. [ データベースから] ボックスの一覧で、復元元を選択します。

  7. [ 復元するバックアップ セットの選択] 領域で、データベースの横のチェック ボックスをオンにします。

  8. [ オプション] タブの [ 復旧状態] セクションで、復旧状態を選択します。

    使用する復旧の種類の詳細については、SQL Server オンライン ブックの「復旧モデルの概要」をご覧ください。

  9. [ OK] をクリックして、データベースを復元します。

  10. サービス アプリケーションに関連付けられているデータベースごとに、手順 1. ~ 9. を繰り返します。

Search Service アプリケーション データベースを読み取り/書き込み可能に設定するには

  1. Search Service アプリケーション データベースの読み取り専用モードの設定を変更するには」の手順に従って操作します。

PowerShell を使用して、移動したデータベースを Search Service アプリケーションの接続先にするには

  1. SharePoint 管理シェルを起動します。

  2. Search Service アプリケーション データベースの接続先を新しい場所にします。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    $ssa | Set-SPEnterpriseSearchServiceApplication [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    

    詳細は次のとおりです。

    • <NewDbName> は、データベースの名前です。

    • <NewServerName> is the new database location.

  3. 分析レポート データベースの接続先を新しい場所にします。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Add-SPServerScaleOutDatabase -ServiceApplication $ssa -DatabaseServer <OriginalServerName> [-DatabaseName <NewDbName>]
    $temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
    Remove-SPServerScaleOutDatabase -Database $temp[0] -ServiceApplication $ssa
    

    ここで、

    • <OriginalServerName> は、元の SQL サーバーの名前です。
  4. CrawlStore データベースの接続先を新しい場所にします。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $CrawlDatabase0 = ([array]($ssa | Get-SPEnterpriseSearchCrawlDatabase))[0]
    $CrawlDatabase0 | Set-SPEnterpriseSearchCrawlDatabase [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    
  5. LinkStore データベースの接続先を新しい場所にします。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $LinksDatabase0 = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[0]
    $LinksDatabase0 | Set-SPEnterpriseSearchLinksDatabase [-DatabaseName "<NewDbName>"] -DatabaseServer "<NewServerName>"
    
  6. すべての Search Service インスタンスをオンラインに設定します。 Search Service インスタンスがオンラインとしてレポートされるまで、ファーム内の Search Service ごとに次のコマンドを実行します。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Get-SPEnterpriseSearchServiceInstance -Identity <Search Server> Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Identity <Search Server>} while ($searchInstance.Status -ne "Online")
    

    検索 <サーバー> は、検索コンポーネントをホストするサーバーの名前です。

  7. Search Service アプリケーションを再開します。 PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    Resume-SPEnterpriseSearchServiceApplication -Identity $ssa
    

    SearchServiceApplicationName<> は、データベースの移動に関連付けられているSearch Service アプリケーションの名前です。

  8. 検索コンポーネントをホストする各サーバーを再起動します。

SharePoint Server 2019で Search Service アプリケーション データベースを移動または名前変更する手順

Search Service アプリケーション データベースを移動するには、SQL Server、SQL Server Management Studio、および Windows エクスプローラーを使用します。 移動したデータベースをポイントするには、PowerShell を使用する必要があります。 次の手順は、記載されている順序で実行してください。

重要:

操作を実行するために使用するアカウントには、次のメンバーシップおよびアクセス許可が必要です。

  • Farm Administrators SharePoint グループのメンバー。

  • ローカル サーバーの Administrators グループのメンバー。

  • ソースの場所に対する読み取りアクセス許可、およびターゲットの場所に対する書き込みアクセス許可。

  • 移動するすべてのデータベースに対する db_owner 固定データベース ロール。

  • 移動するすべてのデータベースに対する db_creator および securityadmin ロール。

Search Service アカウントには次のロールが必要です。

  • 管理データベース、リンク データベース、およびクロール データベースに対する db_owner 固定データベース ロール。

  • 分析レポート データベースに対する SPSearchDBAdmin データベース ロール。

環境によっては、データベース管理者との間で名前の変更と移動の手順を調整する必要があります。 データベースを操作する際は、適用されるポリシーとガイドラインに必ず従ってください。

PowerShell を使用して Search Service アプリケーションを一時停止するには

  1. SharePoint 管理シェルを起動します。

  2. PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
    Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
    

    SearchServiceApplicationName<> は、データベースの移動に関連付けられているSearch Service アプリケーションの名前です。

Search Service アプリケーション データベースの読み取り専用モードの設定を変更するには

  1. コンテンツ データベース上の db_owner 固定データベース ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を開き、データベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. 次のデータベースは読み取り専用モードに設定します。

    • 検索管理

    • 分析レポート

    • クロール

    • リンク

    • 読み取り/書き込み可能または読み取り専用に設定するデータベースを右クリックし、[ プロパティ] をクリックします。

    • [ データベースのプロパティ ] ダイアログの [オプション のプロパティ] ページの [ 状態 ] セクションで、[データベースの読み取り専用] の横にある一覧で [True ] または [False ] を選択し、[OK] をクリック します

    • [はい] をクリックします。

Search Service アプリケーション データベースをバックアップするには

  1. 各データベースが保存されているデータベース サーバーの SQL Server db_backupoperator 固定データベース ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を起動し、Search サービス アプリケーション データベースが格納されているデータベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. バックアップするデータベースを右クリックし、[ タスク] をポイントしてから、[ バックアップ] をクリックします。

  5. [ データベースのバックアップ ] ダイアログの [ ソース ] 領域で、[バックアップの種類] の一覧から実行する バックアップの種類 を選択します。

    使用するバックアップの種類の詳細については、「復旧モデル (SQL Server)」をご覧ください。

  6. [バックアップ コンポーネント] 領域で [データベース] をクリックします。

  7. 既定の名前を使用するか、バックアップ セットの名前を [ 名前] ボックスで指定します。

  8. バックアップ セットの有効期限を指定します。

    この日付によって、以降の同名のバックアップ セットで上書きできるタイミングが決まります。 既定では、バックアップ セットは無期限 (0 日) に設定されます。

  9. [ バックアップ先] 領域で、バックアップを格納する場所を指定します。

  10. [ OK] をクリックして、データベースをバックアップします。

  11. 次のデータベースについて手順 1. ~ 10. を繰り返します。

    • 検索管理

    • 分析レポート

    • クロール

    • リンク

SQL Server をホストする新しいサーバーで並列処理の最大限度の値を 1 に設定するには

  1. SQL Server Management Studio を起動し、Search サービス アプリケーション データベースを移動する先の SQL Server をホストする新しいサーバーに接続します。

  2. [ オブジェクト エクスプローラー] で、データベース サーバーを右クリックし、[ プロパティ] をクリックします。

  3. [詳細設定] をクリックします。

  4. [ 並列処理の最大限度] ボックスの一覧で [ 1] を選択し、並列計画の実行で使用するプロセッサの数を制限します。

    詳しくは、max degree of parallelism サーバー構成オプションの構成」を参照してください。

Search Service アプリケーション データベースを新しいデータベース サーバーに復元するには

  1. 各データベースが保存されているデータベース サーバーの SQL Server sysadmin 固定サーバー ロールのメンバーであるアカウントを使用します。

  2. SQL Server Management Studio を起動し、データベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[ データベース] を展開します。

  4. 復元するデータベースを右クリックして [ タスク] をポイントし、[ 復元] をクリックします。次に [ データベース] をクリックします。

  5. [ データベースの復元 ] ダイアログの [ 全般 ] ページで、復元先のデータベースを [ データベース へ] の一覧から選択します。

  6. [ データベースから] ボックスの一覧で、復元元を選択します。

  7. [ 復元するバックアップ セットの選択] 領域で、データベースの横のチェック ボックスをオンにします。

  8. [ オプション] タブの [ 復旧状態] セクションで、復旧状態を選択します。

    使用する復旧の種類の詳細については、SQL Server オンライン ブックの「復旧モデルの概要」をご覧ください。

  9. [ OK] をクリックして、データベースを復元します。

  10. サービス アプリケーションに関連付けられているデータベースごとに、手順 1. ~ 9. を繰り返します。

Search Service アプリケーション データベースを読み取り/書き込み可能に設定するには

  1. Search Service アプリケーション データベースの読み取り専用モードの設定を変更するには」の手順に従って操作します。

PowerShell を使用して、移動したデータベースを Search Service アプリケーションの接続先にするには

  1. SharePoint 管理シェルを起動します。

    注:

    これらの手順では、すべてのコマンドで同じ PowerShell セッションを使用することを前提としています。

  2. PowerShell コマンド プロンプトで、次のコマンドを入力して、Search Administration データベースをSearch Serviceに関連付けます。

     $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplication>
     $ssa | Set-SPEnterpriseSearchServiceApplication -DatabaseName <SearchAdministrationServiceDatabase> -DatabaseServer <SearchServiceDatabaseServer>
    

    ここで、

    • <SearchServiceApplication> は、データベースに関連付けられているSearch Service アプリケーションの名前です。

    • <SearchAdministrationServiceDatabase> は、Search Service アプリケーション管理データベースの名前です。

    • <SearchServiceDatabaseServer> は、Search Service アプリケーション データベースをホストする新しい databse サーバーの名前です。

  3. PowerShell コマンド プロンプトで、次のコマンドを入力して、Search Analytics データベースをSearch Serviceに関連付けます。

    Add-SPServerScaleOutDatabase -ServiceApplication $ssa -DatabaseServer <SearchServiceDatabaseServer> -DatabaseName <SearchServiceAnalyticsDatabase>
    $temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
    Remove-SPServerScaleOutDatabase -ServiceApplication $ssa -Database $temp[0]
    

    ここで、

    • <SearchServiceAnalyticsDatabase> は、Search Service アプリケーション Analytics データベースの名前です。

    • <SearchServiceDatabaseServer> は、Search Service アプリケーション データベースをホストする新しい databse サーバーの名前です。

  4. PowerShell コマンド プロンプトで、次のコマンドを入力して、検索クロール データベースをSearch Serviceに関連付けます。

    New-SPEnterpriseSearchCrawlDatabase -SearchApplication $ssa -DatabaseName <SearchServiceCrawlDatabase> -DatabaseServer <SearchServiceDatabaseServer>
    $crawlDBToDelete = $ssa | Get-SPEnterpriseSearchCrawlDatabase -Identity "<OldCrawlStoreDatabase>"
    Remove-SPEnterpriseSearchCrawlDatabase -Identity $crawlDBToDelete
    

    ここで、

    • <SearchServiceCrawlDatabase> は、Search Service アプリケーション クロール データベースの名前です。

    • <SearchServiceDatabaseServer> は、Search Service アプリケーション データベースをホストする新しい databse サーバーの名前です。

    • <OldCrawlStoreDatabase> は、古いSearch Service アプリケーション クロール データベースの名前です。

  5. PowerShell コマンド プロンプトで、次のコマンドを入力して、検索リンク データベースをSearch Serviceに関連付けます。

    New-SPEnterpriseSearchLinksDatabase -DatabaseName <SearchServiceLinksDatabase> -SearchApplication $ssa -DatabaseServer <SearchServiceDatabaseServer>
    $oldLinksStoreDB = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[0]
    $newLinksStoreDB = ([array]($ssa | Get-SPEnterpriseSearchLinksDatabase))[1]
    Move-SPEnterpriseSearchLinksDatabases -SearchApplication $ssa -TargetStores @($newLinksStoreDB) -Confirm:$false
    

    ここで、

    • <SearchServiceLinksDatabase> は、Search Service アプリケーション Links データベースの名前です。

    • <SearchServiceDatabaseServer> は、Search Service アプリケーション データベースをホストする新しいデータベース サーバーの名前です。

  6. PowerShell コマンド プロンプトで、次のコマンドを入力して Search Service アプリケーションを再開します。

    Resume-SPEnterpriseSearchServiceApplication -Identity $ssa
    
  7. PowerShell コマンド プロンプトで、次のコマンドを入力して、Search Serviceから古い検索リンク データベースを削除します。

    Remove-SPEnterpriseSearchLinksDatabase -Identity $oldLinksStoreDB -SearchApplication $ssa -Confirm:$false
    

    ここで、

    • $oldLinksStoreDB は、手順 5 の変数です。

関連項目

概念

SharePoint Server ですべてのデータベースを移動する