Share via


コンテンツ データベースをSharePoint Server 2019にアップグレードする

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

SharePoint Server 2016 から SharePoint Server 2019 にアップグレードする場合は、データベース接続アップグレードを使用する必要があります。つまり、構成設定ではなく、環境のコンテンツのみをアップグレードすることを意味します。 SharePoint Server 2016 環境を構成し、コンテンツとサービス アプリケーション データベースをコピーし、サービス アプリケーションをアップグレードしたら、コンテンツ データベースをアタッチしてSharePoint Server 2019にアップグレードできます。 この記事では、コンテンツ データベースをアタッチしてSharePoint Server 2019にアップグレードする手順について説明します。

アップグレード プロセスのフェーズ 4: コンテンツ データベースをアップグレードする

アップグレード プロセスのフェーズ 4: コンテンツ データベースをアップグレードする

段階 説明
123 ステップ これは、SharePoint Server 2016 のデータとサイトをSharePoint Server 2019にアップグレードするプロセスの 4 番目のフェーズです。 以下のフェーズを含むプロセスは、次の順序で実行する必要があります。
データベース接続アップグレード用の SharePoint Server 2019 ファームを作成する
SharePoint Server 2019 へのアップグレードのためにデータベースを新しいファームにコピーする
サービス アプリケーションを SharePoint Server 2019 にアップグレードする
コンテンツ データベースをSharePoint Server 2019にアップグレードする (このフェーズ)

プロセス全体の概要については、「SharePoint Server 2019へのアップグレード プロセスの概要」を参照してください。

開始する前に

コンテンツ データベースを接続およびアップグレードする前に、以下の情報を参照し、推奨手順を実行してください。

  • データベースの接続に使用するアカウントが、アップグレードするコンテンツ データベースの db_owner 固定データベース ロールのメンバーであることを確認します。

  • Web アプリケーションの作成に使用するアカウントが サーバーの全体管理 の Farm Administrators グループのメンバーであることを確認します。

Web アプリケーションを作成する

SharePoint Server 2016 環境に存在する Web アプリケーションごとに Web アプリケーションを作成します。 各 Web アプリケーションでは、以下を実行します。

  • 同じ URL (名前、ポート、およびホスト ヘッダーを含む) を使用して、代替アクセス マッピングの設定を構成します。

    異なる URL を使用した場合、Office アプリケーションは新しい URL に正しくリダイレクトされない可能性があり、古い URL へのすべてのブックマークは機能しません。

  • 同じ認証方法を使用します。

    要求ベースの認証がSharePoint Server 2019の既定のオプションになったため、Windows クラシック認証を使用する Web アプリケーションを作成するには、Microsoft PowerShell を使用する必要があります。 .

  • 管理パスを再作成します。

  • クォータ テンプレートを再作成します。

  • Web アプリケーションの電子メールの設定を構成します。

  • 前の環境でセルフサービス サイト作成を使用していたすべての Web アプリケーションで、この機能を有効にします。 セルフサービス サイト作成のすべての設定を再作成します。

  • 個人用サイトをホストする Web アプリケーションで個人用サイトの管理パス (/personal) を作成します。 個人用サイトは SharePoint Server のみで使用できます。

  • 前の環境で構成されていたすべての Web アプリケーション ポリシーまたはその他の Web アプリケーション設定を再作成します。

カスタマイズを再適用する

アップグレードを失敗させるよくある原因の 1 つに、カスタマイズされた機能、ソリューション、またはその他の要素が新しい環境にないことが挙げられます。 コンテンツ データベースをアップグレードする前に、SharePoint Server 2016 環境のすべてのカスタム要素がフロントエンド Web サーバーにインストールされていることを確認します。

この手順では、すべてのカスタマイズを新しいファームに手動で転送します。 次のような、サイトが正しく動作するために依存しているすべてのコンポーネントを必ずインストールするようにしてください。

  • カスタム サイト定義

  • カスケード スタイル シートなどのカスタム スタイル シートおよび画像

  • カスタム Web パーツ

  • カスタム Web サービス

  • カスタム機能およびソリューション

  • カスタム アセンブリ

  • Web.config の変更 (セキュリティなど)

    各 Web アプリケーションの Web.config ファイルの一意の設定はすべて必ず新しいサーバーに転送するようにしてください。

  • InfoPath の管理者承認済みフォーム テンプレート (.xsn ファイル) およびデータ接続ファイル (.udcx ファイル)。

  • サイトが依存しているその他のすべてのコンポーネントまたはファイル。

SharePoint Server 2019のインストールでは、ファイル システム パスを含め、メジャー バージョン番号として 16 が引き続き使用されます。

カスタム コンポーネントを確認する

環境のすべてのカスタム コンポーネントを確実に識別するには、SharePoint Server 2016 環境で Stsadm -o enumallwebs 操作を使用し、 includefeatures パラメーターと includewebparts パラメーターを使用します。 この操作によって、各サイトで使用されるテンプレート、機能、Web パーツ、その他のカスタム要素をレポートできます。 enumallwebs 操作の使用方法の詳細については、「Enumallwebs: Stsadm 操作 (Office SharePoint Server)」を参照してください。

また、SharePoint Server 2016 環境の Get-SPWeb コマンドレットを使用して、各サイトに関連付けられているテンプレートを確認し、テンプレートがSharePoint Server 2019環境にインストールされていることを確認することもできます。 この操作の詳細については、「 Get-SPWeb」を参照してください。

コンテンツ データベースを Web アプリケーションに接続する前に、Test-SPContentDatabase コマンドレットを使用して、そのデータベースに必要なすべてのカスタム コンポーネントがあることを確認します。

PowerShell を使用してカスタム コンポーネントが使用できることを確認するには

  1. 次のメンバーシップがあることを確認します。
  • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

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

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

    管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2016 のコマンドレットを使用する権限を付与できます。

    注:

    アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。

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

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

Test-SPContentDatabase -Name DatabaseName -WebApplication URL
Where:
  • DatabaseName は、テストするデータベースの名前です。

  • URL は、サイトをホストする Web アプリケーションの URL です。

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

コンテンツ データベースを Web アプリケーションに接続し、データベースをアップグレードする

コンテンツ データベースを接続する際は、データベースをアップグレードし、そのデータベース内のサイト コレクションを指定した Web アプリケーションに追加します。 データベースがアップグレードされると、既定でサイト コレクションのアップグレード プロセスが自動的に開始します。

複数のコンテンツ データベースにまたがる Web アプリケーションに使用されるコンテンツ データベースを接続する場合、最初にルート サイト コレクションを含むコンテンツ データベースを接続していることを確認してください。 つまり、続行する前に、SharePoint Server 2016 サーバー ファーム内の Web アプリケーションのルートを調べて、最初のサイト コレクションを特定します。 ルート サイトを含むデータベースを接続したら、Web アプリケーションのその他のコンテンツ データベースを任意の順序で接続します。 データベースを接続する前に、コンテンツを格納するサイト コレクションを作成する必要はありません。 このプロセスによって、コンテンツ データベースとそのデータベース内のサイト コレクションが接続されます。 コンテンツ データベースがすべて復元されるまでは、新しいサイト コレクションを追加しないようにしてください。

ヒント

コンテンツ データベース内の各サイト コレクションには、構成データベースに登録され、サイト コレクションに関連付けられた GUID があります。 このため、別々の Web アプリケーションであっても、同じサイト コレクションをファームに 2 度追加することはできません。 この場合、データベースは正常に接続できますが、サイト コレクションは参照できません。 >同じファーム内のサイト コレクションのコピーが必要な場合は、まずサイト コレクションを含むデータベースを別のファームにアタッチしてから、Backup-SPSite コマンドレットと Restore-SPSite PowerShell コマンドレットを使用してサイト コレクションを他のファームにコピーします。 バックアップおよび復元プロセスにより、サイト コレクションの新しい GUID が作成されます。 これらのコマンドレットの詳細については、「 Backup-SPSite」および「Restore-SPSite」を参照してください。

個人用サイトの場合、個人用サイトを含むデータベースを接続する前に、個人用サイト ホストを含むコンテンツ データベースを接続します。

既定では、新しいSharePoint Server 2019環境で Web アプリケーションを作成すると、Web アプリケーションごとにコンテンツ データベースが作成されました。 SharePoint Server 2016 データベースをアタッチしてから既定のデータベースを削除するまで、これらの既定のデータベースは無視できます。

重要

コンテンツ データベースをドメイン間やフォレスト間、またはサービス アカウントが異なる別の環境に移動する場合は、データベースを接続する前に、サービス アカウントの権限が正しいことを確認してください。

注:

アップグレードを失敗させるよくある原因の 1 つに、カスタマイズされた機能、ソリューション、またはその他の要素が環境にないことが挙げられます。 アップグレード プロセスを開始する前に、SharePoint Server 2016 環境のすべてのカスタム要素がSharePoint Server 2019環境のサーバーにインストールされていることを確認してください。 サイトに不足している可能性のあるカスタム要素を特定するには、Test-SPContentDatabase コマンドレットを使用します。

PowerShell を使用してコンテンツ データベースを Web アプリケーションに接続するには

  1. コンテンツ データベースを Web アプリケーションに接続するには、Mount-SPContentDatabase コマンドレットを使用する必要があります。 [SharePoint サーバーの全体管理] ページを使用したコンテンツ データベースの接続は、アップグレードではサポートされていません。

    サイトのアップグレードを延期する場合は、 Mount-SPContentDatabase コマンドレットの SkipSiteUpgrade パラメーターを使用できます。

    注:

    コンテンツ データベースをアタッチするのに Mount-SPContentDatabase コマンドレットを使用することは、SharePoint Server 2016 のデータベースとサイト コレクションをアップグレードするための推奨された動作およびオプションです。

    データベースの接続に使用するアカウントが、アップグレードするコンテンツ データベースの db_owner 固定データベース ロールのメンバーであることを確認してください。

    次のメンバーシップがあることを確認します。

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

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

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

    管理者は、Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2019 コマンドレットを使用するアクセス許可を付与できます。

    注:

    アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。

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

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

Mount-SPContentDatabase -Name DatabaseName -DatabaseServer ServerName -WebApplication URL
Where:
  • DatabaseName は、アップグレードするデータベースの名前です。

  • ServerName は、データベースを格納するサーバーです。

  • URL は、サイトをホストする Web アプリケーションの URL です。

詳細については、「Mount-SPContentDatabase」を参照してください。 データベースがアップグレードされると、サイト コレクションが自動的にアップグレードされます。 サイト コレクションをアップグレードする方法の詳細については、「サイト コレクションをSharePoint Server 2019にアップグレードする」を参照してください。

最初のデータベースのアップグレードを検証する

データベースを接続したら、サーバーの全体管理の [アップグレードの状態] ページで、データベースのアップグレードの状態を確認できます。 アップグレード プロセスが完了したら、アップグレード ログ ファイルを参照して、アップグレードの問題が発生していないかどうかを確認できます。 PowerShell コマンドレットを使用して、すべてのコンテンツ データベースのアップグレードの状態を確認できます。 アップグレードの検証とトラブルシューティングの詳細については、「SharePoint Server 2019でのデータベースのアップグレードの確認」を参照してください。

[アップグレードの状態] ページを表示するには

  • この手順を実行するユーザー アカウントが、データベースで db_owner 固定データベース ロールのメンバーであることを確認します。

  • サーバーの全体管理で、[ アップグレードと移行]、[ アップグレード状態の確認] の順にクリックします。

アップグレード ログ ファイルを確認するには

  • アップグレード エラー ログ ファイルとアップグレード ログ ファイルは、%COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\16\LOGS にあります。 アップグレード ログ ファイルにはアップグレード エラー ログよりも詳細な情報が含まれています。 ログ ファイルの末尾にある概要で、全体的な状態とファイル内の警告およびエラー件数を必ず確認してください。

    ログは、以下の形式の名前を持つテキスト ファイルです。

    • Upgrade-YYYYMMDD-HHMMSS-SSS-error.log

    • Upgrade-YYYYMMDD-HHMMSS-SSS.log

    ここで

    • YYYYMMDD は日付を表します。

    • HHMMSS-SSS は時間を表します (24 時間形式の時間、分、秒、ミリ秒)。

    アップグレード エラー ログの例は、Upgrade-20120105-132126-374-error.log などです。アップグレード ログの例は、Upgrade-20120105-132126-374.log などです。

    注:

    SharePoint Server 2016のアップグレード ログの形式は ULS と同じ構造に基づいています。 > アップグレード ログ ファイルには、アップグレードするコンテンツ データベースの名前が含まれます。

PowerShell を使用してすべてのデータベースのアップグレード状態を確認するには

  1. 次のメンバーシップがあることを確認します。
  • SQL Server インスタンスにおける securityadmin 固定サーバー ロール。

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

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

    管理者は、Add-SPShellAdmin コマンドレットを使用して、SharePoint Server 2019 コマンドレットを使用するアクセス許可を付与できます。

    注:

    アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。

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

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

Get-SPContentDatabase | ft Name, NeedsUpgradeIncludeChildren

このコマンドレットは、ファーム内のデータベースのテーブル スタイルの一覧を返し、データベースがSharePoint Server 2019にアップグレードする必要があるかどうかを示します。

残りのデータベースを接続する

最初のコンテンツ データベースを復元し、成功したことを確認したら、続いて他のデータベースを復元し、アップグレードできます。 データベース接続アップグレードを並列で実行して、一度に複数のデータベースをアップグレードできます。 複数のアップグレードを実行するには、個別の Microsoft PowerShell コマンド プロンプトを使用します。 新規データベースの各アップグレード セッションの開始時間を数分ずつずらして、Web アプリケーションを接続する際に設定される一時ロックによって発生する問題を回避することをお勧めします。 時間をずらさなかった場合、アップグレード セッションでエラーが発生する場合があります。 一時ロックがクリアされるまでの待機時間は、サイト コレクションの数やデータベース サーバー ハードウェアの処理速度によって異なります。

残りのデータベースのアップグレードを検証する

残りのデータベースをすべてアップグレードしたら、[アップグレードの状態] ページで、進行状態を表示して、アップグレード プロセスが完了したことを確認します。 ログ ファイルを表示して、その他の問題がないかを確認します。

次の手順

データベースをアップグレードした後は、ファームを使用する準備が整っているかを確認する追加の手順を実行する場合があります。 次に例を示します。

  • 必要に応じて、ユーザー アカウントをクレーム認証に移行します。

    既定では、SharePoint Server 2019の新しい Web アプリケーションでは要求認証が使用されます。 以前の環境でクラシック認証を使用していた場合は、ユーザーをクレーム認証に移行する必要があります。

  • すべてのアップグレード済み InfoPath フォーム テンプレートで使用していたリンクをアップグレードします。

    データベース接続アップグレードでは、新しい環境を作成したときに、環境内の InfoPath フォーム テンプレートをエクスポートおよびインポートしました。 アップグレード後、Microsoft PowerShell コマンドレットを使用して、アップグレードしたそのフォーム テンプレート内で使用されているリンクが正しい URL を指すように更新できます。

    InfoPath は SharePoint Server のみで使用できます。

  • フル クロールを実行する

    詳細については、「Start, pause, resume, or stop a crawl in SharePoint Server」を参照してください。

  • ファームをバックアップする

    詳細については、「SharePoint Server でファームをバックアップする」を参照してください。

段階 説明
123 ステップ これは、SharePoint Server 2016 のデータとサイトをSharePoint Server 2019にアップグレードするプロセスの 4 番目のフェーズです。
プロセス全体の概要については、「SharePoint Server 2019へのアップグレード プロセスの概要」を参照してください。