サービス アプリケーションを SharePoint Server 2019 にアップグレードする
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
SharePoint Server 2016 から SharePoint Server 2019 にアップグレードする場合は、データベース接続アップグレードを使用する必要があります。つまり、構成設定ではなく、環境のコンテンツのみをアップグレードすることを意味します。 SharePoint Server 2019 環境を構成し、コンテンツ とサービス アプリケーション データベースをコピーしたら、サービス アプリケーションを SharePoint Server 2019 にアップグレードできます。 この記事では、サービス アプリケーションをアップグレードするために実行する手順について説明します。
アップグレード プロセスのフェーズ 3: サービス アプリケーションをアップグレードする
手順 | 説明 |
---|---|
これは、SharePoint Server 2016 のデータとサイトを SharePoint Server 2019 にアップグレードするプロセスの 3 番目のフェーズです。 以下のフェーズを含むプロセスは、次の順序で実行する必要があります。 データベース接続アップグレード用の SharePoint Server 2019 ファームを作成する SharePoint Server 2019 へのアップグレードのためにデータベースを新しいファームにコピーする サービス アプリケーションを SharePoint Server 2019 にアップグレード する (このフェーズ) コンテンツ データベースを SharePoint Server 2019 にアップグレードする プロセス全体の概要については、「 SharePoint Server 2019 へのアップグレード プロセスの概要」を参照してください。 |
開始する前に
サービス アプリケーションをアップグレードする前に、次の情報を参照して、推奨手順を実行してください。
この記事の手順を実行するために使用するアカウントが、サーバーの全体管理 Web サイトのファーム管理者グループのメンバーであることを確認します。
どのサービス アプリケーション プールを、アップグレードされたサービス アプリケーションに使用するかを決めます。 以下の手順では、"SharePoint Web サービスの既定" というサービス アプリケーションに対して既定のアプリケーション プールを使用します。 使用できるサービス アプリケーション プールの一覧を表示するには、PowerShell で Get-SPServiceApplicationPool コマンドレットを使用します。 New-SPServiceApplicationPool コマンドレットを使用して、サービス アプリケーション プールを作成することもできます。 詳細については、「 Get-SPServiceApplicationPool」および「New-SPServiceApplicationPool」を参照してください。
ヒント
この記事では、時間と労力を節約するために、PowerShell コマンドレットで変数 ($applicationPool、$sss、$upaなど) を使用します。 使用しない場合は、これらの変数を使用する必要はありません。 ただし、これらの変数を使用しない場合は、ID パラメーターを指定するときに、サービス アプリケーションとサービス アプリケーション プロキシの ID を 使用する必要があります。 各プロシージャには、使用される変数、または必要な ID を検索するために使用する代替コマンドレットに関する情報があります。 > また、この記事の多くのプロシージャには、$applicationPool変数を設定する手順が含まれています。 PowerShell の同じセッションでこれらすべての手順を実行していて、すべてのサービス アプリケーションに同じアプリケーション プールを使用する場合は、各手順でこの手順を繰り返す必要はありません。 この変数は最初に一度設定すれば、この記事のすべての手順で使用することができます。
サービス アプリケーション データベースのアップグレードについて
サービス アプリケーション データベースをアップグレードするには、新しいサービス アプリケーションを作成し、新しいサービス アプリケーションで使用する既存のデータベースの名前を指定します。 サービス アプリケーションを作成すると、データベースがアップグレードされます。 このプロセスにはいくつかの手順があります。
注:
Word Automation Services および機械翻訳サービスはアップグレードできません。 新しいサービス インスタンスを作成する必要があります。
重要
次の手順は、カスタムのサーバーの役割の種類にのみ適用されます。 サーバーロールの種類の詳細については、「SharePoint Server 2016 および SharePoint Server 2019 での MinRole サーバーの展開の計画」を参照してください。
サービス インスタンスを開始する
最初の手順では、アップグレードできる 5 つのサービス アプリケーション (Business Data Connectivity Service、Managed Metadata Web Service、PerformancePoint Services Service、Secure Store Service、および Search Service) のサービス インスタンスを開始します。 これらのサービス インスタンスのほとんどはサーバーの全体管理から開始できます。 ただし、SharePoint Server Search サービス インスタンスは PowerShell を使用して開始する必要があります。
サービス アプリケーションを作成し、データベースをアップグレードする
サービス インスタンスを開始したら、次の手順ではサービス アプリケーションを作成し、データベースをアップグレードします。 PowerShell を使用して、サービス アプリケーション データベースを復元する必要があります。
サービス アプリケーションのプロキシを作成する
サービス アプリケーション データベースをアップグレードしたら、サービス アプリケーションのプロキシを作成し、既定のプロキシ グループに追加します。 以下のサービス アプリケーションのプロキシを作成する必要があります。
Managed Metadata Service アプリケーション
Search Service アプリケーション
Secure Store Service アプリケーション
PerformancePoint Services Service アプリケーション
サービス アプリケーションを作成すると、Business Data Connectivity Service アプリケーションによってプロキシが自動的に作成され、既定のプロキシ グループに割り当てられます。
- プロキシが既定のグループに属していることを確認する
以下のセクションでは、これらの手順について説明します。
サービス インスタンスを開始する
次の手順では、サービス インスタンスを開始します。
サーバーの全体管理 からサービス アプリケーション インスタンスを開始するには
SharePoint 2019 サーバーの全体管理を開始します。
SharePoint 2019 サーバーの全体管理の [ アプリケーション管理 ] ページの [ サービス アプリケーション ] セクションで、[ サーバー上のサービスの管理] をクリックします。
[ Business Data Connectivity Service] の横の [ 開始] をクリックします。
[ Managed Metadata Web Service] の横の [ 開始] をクリックします。
[ PerformancePoint Services Service] の横の [ 開始] をクリックします。
[ Secure Store Service] の横の [ 開始] をクリックします。
Search Service インスタンスは、Search Service アプリケーションが既に存在している場合を除き、サーバーの全体管理からは開始できないため、PowerShell を使用して開始する必要があります。
ヒント
MinRoles を使用する場合、 Start はファームによって管理されるため使用できない場合があります。 関連付けられているサービス アプリケーションが作成されると、サービス インスタンスが自動的に開始されます。
PowerShell を使用して Search Service インスタンスを開始するには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は 、Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2019 コマンドレットを使用するアクセス許可を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
Search Service インスタンスを開始するには、Microsoft PowerShell コマンド プロンプトで次のコマンドを入力し、コマンドごとに Enter キーを押します。
$SearchInst = Get-SPEnterpriseSearchServiceInstance
# Stores the identity for the Search service instance on this server as a variable
Start-SPServiceInstance $SearchInst
# Starts the service instance
詳細については、「 Get-SPEnterpriseSearchServiceInstance 」および 「Start-SPServiceInstance」を参照してください。
Secure Store Service アプリケーションをアップグレードする
Secure Store Service アプリケーションをアップグレードするには、新しいサービス アプリケーションを作成し、データベースをアップグレードし、プロキシを作成して既定のプロキシ グループに追加してから、前の環境からのパスフレーズを復元します。
PowerShell を使用して Secure Store Service アプリケーションをアップグレードするには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
使用するアプリケーション プールをこのサービス アプリケーションの変数として保存するには、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
詳細は次のとおりです。
- SharePoint Web Services default is the name of the service application pool that will contain the new service applications. This is the default service application pool. You can specify a different service application pool.
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
- Secure Store サービス アプリケーションをアップグレードするには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$sss = New-SPSecureStoreServiceApplication -Name 'Secure Store' -ApplicationPool $applicationPool -DatabaseName 'SecureStore_Upgrade_DB' -AuditingEnabled
ここで、
SecureStore は、新しい Secure Store Service アプリケーションに指定する名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために前に設定した変数です。
ヒント
If you do not use the variable $applicationPool, then you must specify the name of an existing service application pool in the format ' Application Pool Name'. To view a list of service application pools, you can run the Get-SPServiceApplicationPool cmdlet.
SecureStore_Upgrade_DB は、アップグレードするサービス アプリケーション データベースの名前です。
このコマンドで設定される変数 $sss は、後でプロキシを作成する際に使用します。
詳細については、「New-SPSecureStoreApplication」を参照してください。
- 次のコマンドを入力して、Secure Store Service アプリケーションのプロキシを作成します。
$sssp = New-SPSecureStoreServiceApplicationProxy -Name ProxyName -ServiceApplication $sss -DefaultProxyGroup
詳細は次のとおりです。
ProxyName は、使用するプロキシ名です。
$sss は、前に設定した、新しい Secure Store Service アプリケーションを特定する変数です。
ヒント
変数 $sss を使用しない場合は、名前の代わりに ID を使用して Secure Store Service アプリケーションを特定する必要があります。 ID を検索するには、サービス アプリケーション ID の一覧を返す Get-SPServiceApplication コマンドレットを実行します。
DefaultProxyGroup は、Secure Store Service アプリケーションのプロキシをローカル ファームの既定のプロキシ グループに追加します。
このコマンドでは、サービス アプリケーションのプロキシに対して変数 $sssp が設定されます。これはパスフレーズを復元する際に使用します。
詳細については、「New-SPSecureStoreServiceApplicationProxy」を参照してください。
Secure Store Service アプリケーションとプロキシを作成したら、暗号化キーを更新する必要があります。 暗号化キーを更新する方法については、「Secure Store 暗号化キーの更新」を参照してください。
- 次のコマンドを入力して、Secure Store Service アプリケーションのパスフレーズを復元します。
Update-SPSecureStoreApplicationServerKey -Passphrase <Passphrase> -ServiceApplicationProxy $sssp
詳細は次のとおりです。
<Passphrase> は、前の環境からの Secure Store Service アプリケーションのパスフレーズです。
$sssp は、前に設定した、新しい Secure Store Service アプリケーションのプロキシを特定する変数です。
ヒント
変数 $sssp を使用しない場合は、名前の代わりに ID を使用して Secure Store Service アプリケーションのプロキシを特定する必要があります。 ID を検索するには、サービス アプリケーションのプロキシ ID の一覧を返す Get-SPServiceApplicationProxy コマンドレットを実行します。
詳細については、「Update-SPSecureStoreApplicationServerKey」を参照してください。
Business Data Connectivity Service アプリケーションをアップグレードする
Business Data Connectivity Service アプリケーションをアップグレードするには、新しいサービス アプリケーションを作成し、データベースをアップグレードします。 Business Data Connectivity Service アプリケーションのプロキシを作成する必要はありません。 サービス アプリケーションを作成すると、Business Data Connectivity Service アプリケーションではプロキシが自動的に作成され、既定のプロキシ グループに割り当てられます。
PowerShell を使用して Business Data Connectivity Service アプリケーションをアップグレードするには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
使用するアプリケーション プールをこのサービス アプリケーションの変数として保存するには、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
詳細は次のとおりです。
- SharePoint Web Services default は、新しいサービス アプリケーションが含まれるサービス アプリケーション プールの名前です。
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
- Business Data Connectivity Service アプリケーションをアップグレードするには、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
New-SPBusinessDataCatalogServiceApplication -Name 'BDC Service' -ApplicationPool $applicationPool -DatabaseName 'BDC_Service_DB'
詳細は次のとおりです。
BDC Service は、新しい Business Data Connectivity Service アプリケーションに指定する名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために前に設定した変数です。
ヒント
If you do not use the variable $applicationPool, then you must specify the name of an existing service application pool in the format ' Application Pool Name'. To view a list of service application pools, you can run the Get-SPServiceApplicationPool cmdlet.
BDC_Service_DB は、アップグレードするサービス アプリケーション データベースの名前です。
詳細については、「New-SPBusinessDataCatalogServiceApplication」を参照してください。
Managed Metadata Service アプリケーションをアップグレードする
Managed Metadata Service アプリケーションをアップグレードするには、新しいサービス アプリケーションを作成し、データベースをアップグレードしてから、プロキシを作成し、既定のプロキシ グループに追加します。
PowerShell を使用して Managed Metadata Service アプリケーションをアップグレードするには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
このサービス アプリケーションの変数として使用するアプリケーション プールを格納するには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
ここで、
- SharePoint Web Services default は、新しいサービス アプリケーションが含まれるサービス アプリケーション プールの名前です。
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
- マネージド メタデータ サービス アプリケーションをアップグレードするには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$mms = New-SPMetadataServiceApplication -Name 'Managed Metadata Service Application' -ApplicationPool $applicationPool -DatabaseName 'Managed Metadata Service_DB'
ここで、
Managed Metadata Service Application は、新しい Managed Metadata Service アプリケーションに指定する名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために前に設定した変数です。
ヒント
If you do not use the variable $applicationPool, then you must specify the name of an existing service application pool in the format ' Application Pool Name'. To view a list of service application pools, you can run the Get-SPServiceApplicationPool cmdlet.
Managed Metadata Service_DB は、アップグレードするサービス アプリケーション データベースの名前です。
このコマンドで設定される変数 $mms は、後でプロキシを作成する際に使用します。
詳細については、「New-SPMetadataServiceApplication」を参照してください。
- PowerShell コマンド プロンプトで、次のコマンドを入力して、マネージド メタデータ サービス アプリケーションのプロキシを作成します。
New-SPMetadataServiceApplicationProxy -Name ProxyName -ServiceApplication $mms -DefaultProxyGroup
ここで、
ProxyName は、使用するプロキシ名です。
$mms は、前に設定した、新しい Managed Metadata Service アプリケーションを特定する変数です。
ヒント
変数 $mms を使用しない場合は、名前の代わりに ID を使用して Managed Metadata Service アプリケーションのプロキシを特定する必要があります。 ID を検索するには、サービス アプリケーション ID の一覧を返す Get-SPServiceApplication コマンドレットを実行します。
DefaultProxyGroup は、Managed Metadata Service アプリケーションのプロキシをローカル ファームの既定のプロキシ グループに追加します。
詳細については、「New-SPMetadataServiceApplicationProxy」を参照してください。
PerformancePoint Services Service アプリケーションをアップグレードする
PerformancePoint Services Service アプリケーションをアップグレードするには、新しいサービス アプリケーションを作成し、データベースをアップグレードしてから、プロキシを作成し、既定のプロキシ グループに追加します。
PowerShell を使用して PerformancePoint Services Service アプリケーションをアップグレードするには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
使用するアプリケーション プールをこのサービス アプリケーションの変数として保存するには、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
詳細は次のとおりです。
- SharePoint Web Services default は、新しいサービス アプリケーションが含まれるサービス アプリケーション プールの名前です。
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
- PerformancePoint Services サービス アプリケーションをアップグレードするには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$pps = New-SPPerformancePointServiceApplication -Name 'PerformancePoint Service' -ApplicationPool $applicationPool -DatabaseName 'PerformancePoint Service Application_DB'
ここで、
PerformancePoint Service は、新しい PerformancePoint Service サービス アプリケーションに指定する名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために前に設定した変数です。
ヒント
If you do not use the variable $applicationPool, then you must specify the name of an existing service application pool in the format ' Application Pool Name'. To view a list of service application pools, you can run the Get-SPServiceApplicationPool cmdlet.
PerformancePoint Service Application_DB は、アップグレードする PerformancePoint Services サービス アプリケーション データベースの名前です。
このコマンドで設定される変数 $pps は、後でプロキシを作成する際に使用します。
詳細については、「New-SPProfileServiceApplication」を参照してください。
- 次のコマンドを入力して、PerformancePoint Services Service アプリケーションのプロキシを作成します。
New-SPPerformancePointServiceApplicationProxy -Name ProxyName -ServiceApplication $pps -Default
詳細は次のとおりです。
ProxyName は、使用するプロキシ名です。
$pps は、前に設定した、新しい PerformancePoint Services Service アプリケーションを特定する変数です。
ヒント
変数 $pps を使用しない場合は、名前の代わりに ID を使用して PerformancePoint Services サービス アプリケーションを特定する必要があります。 ID を検索するには、サービス アプリケーション ID の一覧を返す Get-SPServiceApplication コマンドレットを実行します。
Default は、PerformancePoint Service サービス アプリケーションのプロキシをローカル ファームの既定のプロキシ グループに追加します。
詳細については、「New-SPPerformancePointServiceApplicationProxy」を参照してください。
User Profile Service アプリケーションをアップグレードする
ユーザー プロファイル サービス アプリケーションをアップグレードする前に、マネージド メタデータ サービス アプリケーションをアップグレードします。
ユーザー プロファイル サービス アプリケーションをアップグレードするには、SharePoint Server 2016 ファームのプロファイル データベースとソーシャル データベースを SharePoint Server 2019 ファームにコピーし、SharePoint Server 2019 ファームの SharePoint Server 2016 ファームから新しいユーザー プロファイル サービス アプリケーションを作成します。 この復元により、SharePoint Server 2019 がトリガーされ、SharePoint Server 2019 ファームに新しいユーザー プロファイル サービス アプリケーションが作成され、コピーしたユーザー プロファイル データベースをポイントします。 ユーザー プロファイル サービス アプリケーションのアップグレードを完了するには、プロキシを作成し、既定のプロキシ グループに追加します。
PowerShell を使用してユーザー プロファイル サービス アプリケーションをアップグレードするには
次の手順に従って、SharePoint Server 2016 ファームのプロファイル データベースとソーシャル データベースを SharePoint Server 2019 ファームにコピーします。
重要
SharePoint Server 2016 環境で次の手順を実行します。
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell アクセス許可の詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルを起動します。
ユーザー プロファイル データベースを読み取り専用に設定します。 SharePoint Server 2016 のデータとサイトを SharePoint Server 2019 にアップグレードするプロセスの 2 番目のフェーズでは、他のすべてのデータベースを読み取り専用に設定します。
SharePoint Server 2016 ファームのプロファイル データベースとソーシャル データベースを SharePoint Server 2019 ファームにコピーし、「 SharePoint Server 2019 にアップグレードするためにデータベースを新しいファームにコピーする」の手順に従います。
重要
SharePoint Server 2019 環境で次の手順を実行します。
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
使用するアプリケーション プールをこのサービス アプリケーションの変数として保存するには、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
詳細は次のとおりです。
SharePoint Web Services default は、新しいサービス アプリケーションが含まれるサービス アプリケーション プールの名前です。
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
ユーザー プロファイル サービス アプリケーションを復元し、Profile データベースと Social データベースをアップグレードするには、Microsoft PowerShell コマンド プロンプトで次のコマンドを入力します。
New-SPProfileServiceApplication -Name '<UserProfileApplicationName>' -ApplicationPool $applicationPool -ProfileDBName '<ProfileDBName>' -SocialDBName '<SocialDBName>' -ProfileSyncDBName '<SyncDBName>'
ここで、
UserProfileApplicationName は、ユーザー プロファイル サービス アプリケーションの名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために設定した変数です。
注: 変数 $applicationPool を使用しない場合は、既存のサービス アプリケーション プールの名前を「Application Pool Name」の形式で指定する必要があります。 サービス アプリケーション プールの一覧を表示するには、 Get-SPServiceApplicationPool コマンドレットを実行します。
ProfileDBName は、アップグレードするプロファイル データベースの名前です。
SocialDBName は、アップグレードする Social データベースの名前です。
SyncDBName は、新しい同期データベースの名前です。
ユーザー プロファイル サービス アプリケーション プロキシを作成し、次のアクションを実行して既定のプロキシ グループに追加します。
次のコマンドを入力して、ユーザー プロファイル サービス アプリケーションの ID を取得し、変数として格納します。
$sa = Get-SPServiceApplication | ?{$_.TypeName -eq 'User Profile Service Application'}
詳細については、「Get-SPServiceApplication」を参照してください。
次のコマンドを入力して、ユーザー プロファイル サービス アプリケーションのプロキシを作成します。
New-SPProfileServiceApplicationProxy -Name 'User Profile Service Application Proxy' -ServiceApplication $sa
ここで、
ProxyName は、使用するプロキシ名です。
$saは、新しいユーザー プロファイル サービス アプリケーションを識別するために前に設定した変数です。
ヒント: 変数$saを使用しない場合は、ID を使用して、名前ではなくユーザー プロファイル サービス アプリケーションを識別する必要があります。 ID を検索するには、サービス アプリケーション ID の一覧を返す Get-SPServiceApplication コマンドレットを実行します。
詳細については、「 New-SPProfileServiceApplicationProxy」を参照してください。
次のコマンドを入力して、作成したプロキシのユーザー プロファイル サービス アプリケーション プロキシ ID を取得し、変数として設定$proxy。
$proxy = Get-SPServiceApplicationProxy | ?{$_.TypeName -eq 'User Profile Service Application Proxy'}
詳細については、「Get-SPServiceApplicationProxy」を参照してください。
次のコマンドを入力して、ユーザー プロファイル サービス アプリケーション プロキシを既定のプロキシ グループに追加します。
Add-SPServiceApplicationProxyGroupMember -member $proxy -identity ""
ここで、
$proxyは、先ほどユーザー プロファイル サービス アプリケーション用に作成したプロキシの ID を識別するために設定した変数です。
ヒント: 変数$proxyを使用しない場合は、名前の代わりに ID を使用してユーザー プロファイル サービス アプリケーション プロキシを識別する必要があります。 ID を検索するには、サービス アプリケーションのプロキシ ID の一覧を返す Get-SPServiceApplicationProxy コマンドレットを実行します。
空の Identity パラメーター ("") を使用して、既定のグループに追加します。
詳細については、「Add-SPServiceApplicationProxyGroupMember」を参照してください。
Search Service アプリケーションをアップグレードする
Search service アプリケーションをアップグレードする前に、User Profile Service アプリケーションと Managed Metadata Service アプリケーションをアップグレードしてください。
Search サービス アプリケーションをアップグレードするには、SharePoint Server 2016 ファーム内の検索管理データベースを SharePoint Server 2019 ファームにコピーし、SharePoint Server 2019 ファームの SharePoint Server 2016 ファームから Search サービス アプリケーションを復元します。 この復元により、SharePoint Server 2019 がトリガーされ、SharePoint Server 2019 ファームに新しい Search サービス アプリケーションが作成され、コピーされた検索管理データベースがポイントされます。 Search サービス アプリケーションのアップグレードを完了するには、プロキシを作成し、それを既定のプロキシ グループに追加し、新しい Links Database と新しい検索トポロジが SharePoint Server 2016 ファームと同じように構成されていることを確認します。
SharePoint Server 2019 では、通常、新しい Search サービス アプリケーションを作成するときに、すべての検索コンポーネントとデータベースを含む新しい検索トポロジが作成されます。 Search サービス アプリケーションの 復元 中に、SharePoint Server 2019 は新しい検索トポロジを作成しますが、新しい検索管理データベースを作成する代わりに、復元された検索管理データベースをアップグレードします。 アップグレードされた Search Administration データベースには、SharePoint Server 2016 ファームの検索スキーマ、結果ソース、クエリ ルールに加えられた追加または変更が保持されます。
注:
このアップグレード中、検索では SharePoint Server 2016 のコンテンツはクロールされません。 検索結果の新しさが重要である場合、アップグレードを開始する前にこれらのステップをよく理解しておき、時間を節約します。
重要
SharePoint Server 2019 ファームの検索トポロジは新しいので、インデックスは空です。 すべてのコンテンツ ソース (SharePoint Server 2016 データとサイトを SharePoint Server 2019 にアップグレードするプロセスの 4 番目のフェーズ) を完了した後、インデックス付きコーパス全体のフル クロールを実行する必要があります。
PowerShell を使用して Search service アプリケーションをアップグレードするには
SharePoint Server 2016 ファームの検索管理データベースを SharePoint Server 2019 ファームにコピーし、次の手順に従います。
注:
SharePoint Server 2019 にアップグレードするためのプロセスの前の手順で、SharePoint Server 2016 環境の他のすべてのコンテンツおよびサービス データベースをコピーしました。 検索管理データベースのコピー中に SharePoint Server 2016 環境で Search サービス アプリケーションを一時停止する必要があるため、この後の段階で検索管理データベースをコピーすることをお勧めします。
重要
SharePoint Server 2016 環境で次の手順を実行します。
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は 、Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2019 コマンドレットを使用するアクセス許可を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell アクセス許可の詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2016 管理シェルを起動します。
Search service アプリケーションを一時停止します。 PowerShell コマンド プロンプトで、次のコマンドを入力します。
$ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName> Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
詳細は次のとおりです。
SearchServiceApplicationName は、一時停止する Search service アプリケーションの名前です。
注:
Search サービス アプリケーションが一時停止されている間、SharePoint Server 2016 環境のインデックスは更新されません。 これは、SharePoint Server 2019 へのアップグレード中に検索結果が新しくなくなる可能性があることを意味します。
検索管理データベースを読み取り専用に設定します。 SharePoint Server 2016 のデータとサイトを SharePoint Server 2019 にアップグレードするプロセスの 2 番目のフェーズでは、他のすべてのデータベースを読み取り専用に設定します。 検索管理データベースを参照するには同じ指示に従います。
SharePoint Server 2016 ファームの検索管理データベースを SharePoint Server 2019 ファームにコピーし、「検索管理データベース専用の SharePoint Server 2019 にアップグレードするには、新しいファームにデータベースをコピー する」の手順に従います。
重要
SharePoint Server 2019 環境で次の手順を実行します。
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は 、Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2019 コマンドレットを使用するアクセス許可を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
このサービス アプリケーションの変数として使用するアプリケーション プールを格納するには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint Web Services default'
ここで、
SharePoint Web Services default は、新しいサービス アプリケーションが含まれるサービス アプリケーション プールの名前です。
このコマンドレットにより、サービス アプリケーション プールが変数として設定され、後続のコマンドレットで再使用できます。 複数のアプリケーション プールがあり、特定のサービス アプリケーションに対して異なるアプリケーション プールを使用する必要がある場合は、この手順を繰り返して、適切なアプリケーション プールを使用するように各サービス アプリケーションを作成します。
Search サービス アプリケーションを復元し、Search 管理データベースをアップグレードするには、PowerShell コマンド プロンプトで次のコマンドを入力します。
$searchInst = Get-SPEnterpriseSearchServiceInstance -local # Gets the Search service instance and sets a variable to use in the next command Restore-SPEnterpriseSearchServiceApplication -Name '<SearchServiceApplicationName>' -applicationpool $applicationPool -databasename '<SearchServiceApplicationDBName>' -databaseserver <ServerName> -AdminSearchServiceInstance $searchInst
ここで、
SearchServiceApplicationName は、Search Service アプリケーションの名前です。
$applicationpool は、使用するサービス アプリケーション プールを識別するために設定した変数です。
注: 変数$applicationPoolを使用しない場合は、既存のサービス アプリケーション プールの名前を " アプリケーション プール名" という形式で指定する必要があります。 サービス アプリケーション プールの一覧を表示するには、 Get-SPServiceApplicationPool コマンドレットを実行します。
SearchServiceApplicationDBName は、アップグレードする検索管理データベースの名前です。この Search service アプリケーションは、このデータベースを使用するようになります。
$searchInst は、新しい Search Service アプリケーション インスタンスを特定するために設定した変数です。
注: Search service アプリケーションのアップグレードは、ネットワークや SQL Server の遅延などのために失敗することがあります。 アップグレード中にエラー メッセージが表示された場合は、次の操作を実行してください。
アップグレードしようとしていた Search 管理データベースを削除します。
Search 管理データベースから作成したバックアップ コピーを使用して、Search Service アプリケーションのみに関するこの記事の以下の手順を繰り返します。
コマンドを入力して、PowerShell コマンド プロンプトで Search サービス アプリケーションをもう一度アップグレードします。
詳細については、「Restore-SPEnterpriseSearchServiceApplication」を参照してください。
Search サービス アプリケーション プロキシを作成し、次のアクションを実行して既定のプロキシ グループに追加します。
次のコマンドを入力して、Search Service アプリケーションの ID を取得し、変数に格納します。
$ssa = Get-SPEnterpriseSearchServiceApplication
詳細については、「Get-SPEnterpriseSearchServiceApplication」を参照してください。
次のコマンドを入力して、Search Service アプリケーションのプロキシを作成します。
New-SPEnterpriseSearchServiceApplicationProxy -Name ProxyName -SearchApplication $ssa
詳細は次のとおりです。
ProxyName は、使用するプロキシ名です。
$ssa は、前に設定した、新しい Search Service アプリケーションを特定する変数です。
ヒント: 変数 $ssa を使用しない場合は、名前の代わりに ID を使用して Search Service アプリケーションを特定する必要があります。 ID を検索するには、サービス アプリケーション ID の一覧を返す Get-SPServiceApplication コマンドレットを実行します。
詳細については、「New-SPEnterpriseSearchServiceApplicationProxy」を参照してください。
次のコマンドを入力して、Search Service アプリケーションの作成したばかりのプロキシのプロキシ ID を取得し、変数 $ssap に格納します。
$ssap = Get-SPEnterpriseSearchServiceApplicationProxy
詳細については、「Get-SPEnterpriseSearchServiceApplicationProxy」を参照してください。
次のコマンドを入力して、Search Service アプリケーションのプロキシを既定のプロキシ グループに追加します。
Add-SPServiceApplicationProxyGroupMember -member $ssap -identity ""
ここで、
$ssap は、Search Service アプリケーションの作成したばかりのプロキシの ID を特定するために前に設定した変数です。
ヒント: 変数 $ssap を使用しない場合は、名前の代わりに ID を使用して Search Service アプリケーションのプロキシを特定する必要があります。 ID を検索するには、サービス アプリケーションのプロキシ ID の一覧を返す Get-SPServiceApplicationProxy コマンドレットを実行します。
空の Identity パラメーター ("") を使用して、既定のグループに追加します。
詳細については、「Add-SPServiceApplicationProxyGroupMember」を参照してください。
SharePoint Server 2016 ファームでパーティション分割されたリンク データベースを使用する場合は、SharePoint Server 2019 ファーム内のリンク データベースを同じ方法でパーティション分割します。 その方法については、「Move-SPEnterpriseSearchLinksDatabases」を参照してください。
(省略可能)SharePoint Server 2016 ファームの検索関連設定を保持します。 アップグレードされた Search サービス アプリケーションには新しい空のインデックスがあるため、SharePoint Server 2016 ファームの検索分析データを完全に保持することはできません。 SharePoint Server 2016 ファームから Analytics Reporting データベースをコピーし、SharePoint Server 2019 ファームの新しい Search サービス アプリケーションにアタッチします。
SharePoint Server 2016 ファームで、Analytics Reporting データベースを バックアップ します。
SharePoint Server 2019 ファームで、 バックアップされたデータベースを 新しいデータベース サーバーに復元します。
SharePoint Server 2019 ファームで、 復元されたデータベースを 新しい Search サービス アプリケーションにアタッチします。
新しい SharePoint Server 2019 ファーム上の検索トポロジが SharePoint Server 2016 ファームの検索トポロジと同じであることを確認します。 検索の要件が変更された場合は、新しい SharePoint Server 2019 ファームの検索トポロジをスケールアウトすることをお勧めします。
SharePoint Server 環境で Search サービス アプリケーションを再開します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
$ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName> $ssa.ForceResume(0x02)
詳細は次のとおりです。
- SearchServiceApplicationName は、再開する Search service アプリケーションの名前です。
新しいプロキシがすべて既定のプロキシ グループにあることを確認する
プロキシを作成して既定のプロキシ グループに追加する手順が機能したことを確認するには、次の手順を使用します。
PowerShell を使用して、新しいプロキシがすべて既定のプロキシ グループにあることを確認するには
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016のコマンドレットを使用する権限を付与できます。
注: アクセス許可がない場合は、セットアップ管理者か SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 2019 管理シェルを起動します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
$pg = Get-SPServiceApplicationProxyGroup -Identity "" $pg.Proxies
詳細は次のとおりです。
$pg は、既定のプロキシ グループを表すために設定した変数です。
空の Identity パラメーター ("") を使用して、既定のプロキシ グループを指定します。
これにより、既定のプロキシ グループ内のすべてのプロキシ、表示名、型名、および ID のリストが返されます。
詳細については、「Get-SPServiceApplicationProxyGroup」を参照してください。
サービス アプリケーションがアップグレードされたので、コンテンツ データベースのアップグレード処理を開始できます。 最初の手順では、各コンテンツ データベースに必要な Web アプリケーションを作成します。
コンテンツ データベースとサイト コレクションをアップグレードする
手順 | 説明 |
---|---|
これは、SharePoint Server 2016 のデータとサイトを SharePoint Server 2019 にアップグレードするプロセスの 3 番目のフェーズです。 プロセス全体の概要については、「 SharePoint Server 2019 へのアップグレード プロセスの概要」を参照してください。 |
次のフェーズ: コンテンツ データベースを SharePoint Server 2019 にアップグレードする
関連項目
概念
データベース接続アップグレード用の SharePoint Server 2019 ファームを作成する
SharePoint Server 2019 へのアップグレードのためにデータベースを新しいファームにコピーする