現象
Microsoft SQL Server 2008 または Microsoft SQL Server 2008 R2 環境では、データベースの回復は、分析フェーズであるフェーズ1で非常に長い時間がかかる場合があります。 通常、この問題は、SQL Server がシャットダウンされる前の最後の完了チェックポイントの開始と終了の間で多くのトランザクションが発生した場合に発生します。 たとえば、数百万のトランザクションが発生する場合があります。この問題が発生すると、次のようなエラーメッセージが SQL Server のエラーログに記録されます。
データベース 'mydatabase' (5) の回復は0% 完了 (約1234秒) です。 フェーズ1/3 これは情報メッセージだけです。 ユーザー操作は必要ありません。
長時間の復元の問題は、1つ以上の長時間実行されているトランザクションがロールバックされている場合や、トランザクションログに多数の仮想ログファイル (VLFs) が含まれている場合にも発生することがあります。 データベースを回復するときのパフォーマンスの低下の詳細については、次の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2455009 修正: SQL Server 2005 のトランザクションログ内に VLFs が多くある場合、sql server 2008 または SQL Server 2008 R2 でデータベースを回復するとパフォーマンスが低下する
原因
この問題は、ハッシュテーブルが十分なハッシュバケットで生成されないために発生します。 そのため、ハッシュチェーンを検索するのに長い時間がかかります。
解決方法
この問題を解決するには、この修正プログラムを適用します。
累積的な更新プログラムの情報
SQL Server 2008 Service Pack 3
この問題の修正プログラムは、SQL Server 2008 Service Pack 3 用の累積更新プログラム1で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2617146 SQL Server 2008 Service Pack 3 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2629969 SQL Server 2008 Service Pack 3 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service pack 3 の修正プログラムは、SQL Server 2008 Service Pack 3 のインストールに適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム9で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2567713 SQL Server 2008 R2 の累積更新プログラムパッケージ9 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム2で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2567714 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラムパッケージ2注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム5で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2555408 累積的な更新プログラムパッケージ 5 (SQL Server 2008 Service Pack 2)注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
SQL Server 2008 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 Service Pack 1 の累積更新プログラム15で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2555406 SQL Server 2008 Service Pack 1 の累積更新プログラムパッケージ15注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
970365 SQL Server 2008 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service pack 1 ホットフィックスは、SQL Server 2008 Service Pack 1 のインストールに適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
修正プログラムの情報
サポートされている修正プログラムは、Microsoft から提供されています。 ただし、この修正プログラムは、この記事で説明した問題のみを修正することを目的としています。 この修正プログラムは、この記事で説明されている問題が発生しているシステムにのみ適用してください。 この修正プログラムは、追加のテストを受ける可能性があります。 そのため、この問題で深刻な影響を受けていない場合は、この修正プログラムを含む次のソフトウェア更新プログラムを待つことをお勧めします。この修正プログラムをダウンロードできる場合は、このサポート技術情報の記事の上部にある「修正プログラムダウンロード可能」セクションを参照してください。 このセクションが表示されない場合は、Microsoft カスタマーサービスとサポートに問い合わせて、修正プログラムを入手してください。 注: その他の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービスリクエストを作成することが必要になることがあります。 この特定の修正プログラムに該当しないその他のサポートの質問や問題については、通常のサポート料金が適用されます。 Microsoft カスタマサービスとサポートの電話番号の完全な一覧、または別のサービスリクエストを作成するには、次の Microsoft web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注: "Hotfix download available" フォームには、修正プログラムを提供している言語が表示されます。 使用している言語が表示されない場合は、その言語では修正プログラムが利用できないことが原因です。
必要条件
この修正プログラムを適用するには、Microsoft SQL Server 2008 Service Pack 2 がインストールされている必要があります。
再起動に関する情報
この修正プログラムを適用した後で、コンピューターの再起動が必要になることがあります。 ただし、SQL Server プロセスは再起動されます。
置き換えに関する情報
この修正プログラムを適用しても、以前にリリースされた修正プログラムが置き換えられることはありません。
ファイル情報
この修正プログラムの英語版には、次の表に記載されているファイル属性 (またはそれ以降のファイル属性) が含まれています。 これらのファイルの日付と時刻は世界協定時刻 (UTC) で記載されています。 ファイル情報を表示すると、ローカル時刻に変換されます。 UTC とローカル時刻の違いを確認するには、[コントロールパネル] の [日付と時刻] の [タイムゾーン] タブを使用します。
サポートされているすべての x86 ベースバージョンの SQL Server 2008
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
42793832 |
27-May-2011 |
21:57 |
x86 |
サポートされているすべての x64 ベースバージョンの SQL Server 2008
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
57736040 |
27-May-2011 |
19:02 |
x64 |
サポートされているすべてのバージョンの SQL Server 2008 でサポートされているすべてのバージョンの64
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
111166312 |
27-May-2011 |
08:14 |
IA-64 |
回避策
この問題を回避するには、次のいずれかの操作を行います。
-
回復が完了するまで待ちます。
-
バックアップからデータベースを復元します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
データベースエンジンのインスタンスからのチェックポイントと i/o の詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。
ページの作成バックアップからデータをコピーして、ログに記録されたトランザクションをターゲットの回復ポイントに適用するプロセスの詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。