次の方法で共有


更新プログラムを適用するときのアップグレード スクリプトエラーのトラブルシューティング

データベース アップグレード スクリプト

T-SQL アップグレード スクリプトは、すべての SQL Server 累積的な更新プログラムと共に配布されます。 これらは、SQL Server バイナリが最新バージョンに置き換えられた後に実行されます。 SQL Server の既存のインスタンスに累積的な更新プログラム (CU) を適用するか、新しいバージョンに更新すると、関連付けられているセットアップ プロセスによって、次の 2 つの異なるフェーズでプロシージャが実行されます。

  • 初期フェーズでは、セットアップ プロセスでは、データベースとそのオブジェクトではなく、バイナリ (DLL、EXEs) のみが更新されます。

  • アップグレードが完了し、サービスが初めて再起動されると、更新プロセスでは、C:\Program Files\Microsoft SQL Server\MSSQLXX フォルダー内のスクリプト msdb110_upgrade.sqlを使用してデータベースのアップグレードが開始されます。YYYY\MSSQL\Install\

これらの T-SQL スクリプトにより、対応する CU または Service Pack (SP) の一部として提供される新しい修正プログラムまたは機能、または新しいバージョンに対して、システム データベースの準備が整っていることを確認できます。 CU と SP を完全にインストールするか、新しいバージョンにアップグレードするには、データベース アップグレード スクリプトを正常に実行する必要があります。 これを行わないと、SQL Server インスタンスに予期しない問題が発生する可能性があります。 アップグレード スクリプトの実行エラーは、CU と SP のインストールエラーの一般的な原因です。 このトラブルシューティング シリーズでは、このカテゴリの一般的なエラーと、それらを解決するために実行できる手順について説明します。

一般的なトラブルシューティングの手法

  1. エラーの詳細については、SQL Server エラー ログ (ERRORLOG) を確認してください。
  2. アップグレード スクリプトの実行をバイパスするには、 trace フラグ 902 を使用して SQL Server を起動します。
  3. さまざまなシナリオに基づいてエラーの原因に対処します。

MSSQLSERVER_912で説明したように、アップグレード スクリプトが失敗すると、インストール ウィザードは最初の "データベース エンジン復旧ハンドルの待機に失敗しました" と報告します。 SQL Server エラー ログで考えられる原因を確認してください。" SQL Server エラー ログには、912 および 3417 エラー メッセージのエントリが含まれます。 エラー 912 および 3417 は、データベース アップグレード スクリプトのエラーに関連する一般的なエラーです。 また、エラー 912 より前のメッセージは、通常、これらのスクリプトの実行中に正確に失敗した内容に関する情報を提供します。 これらのエラーのトラブルシューティングと修正には、トレース フラグ 902 を使用して SQL Server を起動する必要があります。

Note

トレース フラグ 902 を使用した SQL Server の起動は、アップグレード スクリプト エラーのトラブルシューティングと修正の一部です。 これは、CU、SP、または新しいバージョンへのアップグレードがデータベース アップグレード スクリプトの実行中に失敗するすべてのシナリオに適用されます。 トレース フラグ 902 を使用して SQL Server インスタンスを起動するには、 トレース フラグ 902 で SQL Server を起動する手順を参照してください。

トレース フラグ 902 で SQL Server を起動した後、次のセクションのいずれかの記事を選択して、問題のトラブルシューティングと解決を行うことができます。

データベース アップグレード スクリプトのエラー メッセージ

"wait on the データベース エンジン recovery handle failed" は、次のエラーに関する一般的なエラー メッセージです。