適用対象: SQL Server 2022、SQL Server 2019、SQL Server 2017、SQL Server 2016
この記事では、SQL Server 2022 へのアップグレードを実行するときに、次の一般的な問題をトラブルシューティングして解決する手順について説明します。
問題 1: アクセス違反ダンプに関連するエラー
Always On 環境で SQL Server 2022 へのアップグレードを実行すると、アクセス違反ダンプに関連するエラーが発生します。 エラー メッセージと関連するログ エントリは、アップグレード プロセス中に生成された致命的な例外を示します。
エラー メッセージ:
例外コード: c0000005 EXCEPTION_ACCESS_VIOLATION
アプリケーション イベント ログ:
Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session.
Information: Windows Error Reporting - Fault bucket INVALID_REQUEST, type 0
SQL Server エラー ログ:
Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.
解決策:
SQL Server 2022 の LIGHTWEIGHT_QUERY_PROFILING には既知の問題があります。
この問題は、 SQL Server 2022 用の累積的な更新プログラム 4 および SQL Server 2019 用の Cumulative Update 20 で修正されました。
対処法:
この問題を回避するには、 LIGHTWEIGHT_QUERY_PROFILING
を無効にします。 ライトウェイト プロファイリングは、LIGHTWEIGHT_QUERY_PROFILING
データベース スコープ構成 (ALTER DATABASE SCOPED CONFIGURATION SET LIGHTWEIGHT_QUERY_PROFILING = OFF;
) を使用して、データベース レベルで無効にすることができます。
問題 2: SQL Server 2022 の非アクティブなインスタンスに関連するエラー
SQL Server 2022 の非アクティブなインスタンスのため、SQL Server 2022 にアップグレードできません。
原因:
この問題は、以前の SQL Server のインストールが失敗し、部分的にインストールされたインスタンスがコンピューターに残ったときに発生します。 エラーが発生した場合、SQL Server セットアップ プログラムはインストールを自動的にロールバックしません。 部分的にインストールされたインスタンスには、インストールしようとした SQL Server のエディションが含まれていないので、同じバージョンにアップグレードしようとすると、以降のインストールエラーが発生します。
解決策:
この問題を解決するには、「 SQL Server の部分的なインストールを削除するで説明されている手順に従います。
問題 3: フェールオーバー クラスター インスタンスがオンラインに失敗する
フェールオーバー クラスター インスタンス (FCI) で SQL Server を以前のバージョンから 2022 にアップグレードした後、インスタンスがオンラインに失敗する場合があります。 クラスター マネージャーで FCI ロールを確認すると、インスタンスを起動できないことに気付きます。
考えられる原因:
この問題の原因の 1 つとして考えられるのは、SQL Server インスタンスがスクリプト アップグレード モードになっている可能性があるため、起動できません。 アップグレード プロセス中、SQL Server では、アップグレード スクリプトの実行など、スムーズな移行を実現するためにいくつかの手順を実行します。 インスタンスがスクリプト アップグレード モードでスタックしている場合、オンラインにすることはできません。
対処法:
この問題を解決し、SQL Server インスタンスを正常にオンラインにするには、「更新プログラムの適用時にアップグレード スクリプトのエラーを解決するの手順に従って、実行中のアップグレード スクリプトをバイパスできます。
Note
-T902 パラメーターは、起動時にアップグレード スクリプトの実行を無効にします。
問題 4: レプリケーションに関連するエラー
可用性グループ (AG) の 分散データベースをホストするマシンで SQL Server 2022 にアップグレードすると レプリケーションに関連するエラーが発生します。
Note
この問題は、SQL Server をバージョン 2016 SP2 CU3、SQL Server 2017 CU6、またはそれ以降のバージョンから SQL Server 2019 にアップグレードする場合にも発生する可能性があります。 この問題の修正プログラムは、 SQL Server 2019 用の累積的な更新プログラム 21 で入手できます。
エラー メッセージ:
SQL セットアップは完了しますが、レプリケーション コンポーネントの "レプリケーション アップグレード スクリプトを実行中にエラーが発生しました" というエラーが表示されます。 この状態のインスタンスで修復を実行しようとすると、同じエラー メッセージが表示されます。
SQL Server エラー ログ:
Executing sp_vupgrade_replication.
Could not open distribution database <distribution_db_name> because it is offline or being recovered. Replication settings and system objects could not be upgraded. Be sure this database is available and run sp_vupgrade_replication again.
Error executing sp_vupgrade_replication.
Saving upgrade script status to 'SOFTWARE\Microsoft\MSSQLServer\Replication\Setup'.
原因:
このエラーは、ディストリビューション データベースが AG の一部であり、インプレース アップグレードが試行されたときに発生します。
解決策:
この問題の修正プログラムは、 SQL Server 2022 用のセキュリティ更新プログラム 5 で入手できます。
対処法:
この問題を回避するには、次の手順に従ってください。
- AG からディストリビューション データベースを削除します。
- SQL Server 2022 へのアップグレードに進みます。
- アップグレードが完了したら、ディストリビューション データベースを AG に追加し直します。