次の方法で共有


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

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

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. アップグレード スクリプトの実行をバイパスするには、トレース フラグ 902 を使用してSQL Serverを開始します。
  3. さまざまなシナリオに基づいてエラーの原因に対処します。

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

注:

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

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

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

"データベース エンジンの回復ハンドルの待機に失敗しました" は、次のエラーに関する一般的なエラー メッセージです。