Microsoft は、Microsoft SQL Server 2008 R2、SQL Server 2008 R2 SP1、SQL Server 2008 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 R2、SQL Server 2008 R2 SP1、SQL Server 2008 fix release に含まれていたすべてのホットフィックスとすべてのセキュリティ修正が含まれています。

はじめに

DBCC CHECKDBコマンドは、パフォーマンスとリソースの間の必要なバランスを行います。 そのため、既定では、 DBCC CHECKDB コマンドはデータベースの整合性チェックが実行されているときに、リソース使用量を最大化しないことがあります。 たとえば、 DBCC CHECKDB コマンドを実行すると、データベースの整合性チェックが実行されているときに、ディスク i/o の使用量が最大化されないことがあります。

解決方法

累積的な更新プログラムの情報

SQL Server 2008 Service Pack 2

この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム9で最初にリリースされました。 この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2673382 累積的な更新プログラムパッケージ 9 (SQL Server 2008 Service Pack 2)

ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、Microsoft サポート技術情報の次の記事を参照してください。

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 3

この問題の修正プログラムは、SQL Server 2008 Service Pack 3 の累積更新プログラム4で最初にリリースされました。 この累積的な更新プログラムパッケージの詳細については、Microsoft サポート技術情報の次の記事を参照してください。

2673383 SQL Server 2008 Service Pack 3 の累積更新プログラムパッケージ4

注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、Microsoft サポート技術情報の次の記事を参照してください。

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 の累積更新プログラムパッケージ11

この問題の修正プログラムは、累積更新プログラム11で最初にリリースされました。 SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、Microsoft サポート技術情報の次の記事を参照してください。

2633145 SQL Server 2008 R2 の累積更新プログラムパッケージ11

注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、Microsoft サポート技術情報の次の記事を参照してください。

981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド

SQL Server 2008 R2 SP1 の累積更新プログラムパッケージ4

この問題の修正プログラムは、累積的な更新プログラム4で最初にリリースされました。 SQL Server 2008 R2 SP1 用の累積的な更新プログラムパッケージの入手方法の詳細については、Microsoft サポート技術情報の次の記事を参照してください。

2633146 SQL Server 2008 R2 SP1 の累積更新プログラムパッケージ4

ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 R2 SP1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、Microsoft サポート技術情報の次の記事を参照してください。

2567616 SQL Server 2008 R2 SP1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

SQL Server 2012

SQL Server 2012 には、これらの修正プログラムのコードの変更が含まれています。 以下で説明するように、トレースフラグ2562と2549は両方とも SQL Server 2012 に適用されます。 ただし、 DBCC_MULTIOBJECT_SCANNER ラッチの競合を減らすための修正プログラムでは、SQL Server 2012 のトレースフラグ2562は必要ありません。 これらの変更は、既定で SQL Server 2012 に含まれていました。

詳細情報

この累積的な更新プログラムでは、ユーザーが DBCC CHECKDBコマンドを実行したときに、ディスク i/o リソースの使用率を高めるために2つのトレースフラグが導入されています。 これらの機能強化はPHYSICAL_ONLYオプションのみを対象としてい   ますが、 PHYSICAL_ONLYオプションを使用しないDBCC CHECKDBコマンドの全体的なパフォーマンスも向上する可能性があります。 トレースフラグ2562 このトレースフラグには、次の変更が含まれます。

  • データベース内のインデックス数に関係なく、1つの "バッチ" で DBCC CHECKDB コマンドを実行します。 既定では、 DBCC CHECKDB コマンドは、"バッチ" の概念を使って生成されるインデックスまたは "fact" の数を制限することによって、 tempdbリソースの最小化を試みます。 このトレースフラグは、すべての処理を強制的に1つのバッチにします。

  • データベースから読み取るページを決定するための内部処理を改善します。 これにより、 DBCC_MULTIOBJECT_SCANNERラッチの競合が削減されます。

このトレースフラグを使うことによって、 tempdbの領域要件が   増加する可能性があります。 Tempdb は、 DBCC CHECKDBコマンドによって処理されているユーザーデータベースの5% 以上に拡大する可能性があります。 そのため、 tempdb  このトレースフラグを使って自動拡張を回避する場合は、tempdb のサイズをデータベースのサイズの5% 以上に事前に設定することをお勧めします。これにより、 DBCC CHECKDBコマンドのパフォーマンスが低下する可能性があります。 注: トレースフラグ2562は、セッションレベルのトレースフラグです。 これは、セッションレベルで有効にすることができます。 トレースフラグ2549DBCC CHECKDBコマンドは、すべてのデータベースファイルにわたって一意のディスクドライブごとに読み取るページの内部リストを作成します。 このロジックは、各ファイルの物理ファイル名のドライブ文字に基づいて一意のディスクドライブを決定します。 基になるディスクがドライブ文字を使っているときに実際に一意である場合は、 DBCC CHECKDB コマンドでそれらを1つのディスクとして扱います。 このトレースフラグが有効になっていると、各データベースファイルは、一意のディスクドライブ上にあると見なされます。 各ファイルが固有の物理ディスクに基づいていることがわかっている場合を除き、このトレースフラグは使用しないでください。 注: トレースフラグ2549は、グローバルトレースフラグです。 有効にするには、それをスタートアップパラメーターとして使用するか、 DBCC TRACEON (2549,-1)を使用する必要があります。 これらのトレースフラグは、 DBCC checkdbオプションの使用をターゲットとするdbcc checkdbコマンドのパフォーマンスを向上   させますが、一部のユーザーはパフォーマンスの向上を見られないことがあります。 これらのトレースフラグによってディスク i/o リソースの使用率が向上しますが、ディスクリソースの基礎となるパフォーマンスによって、 DBCC CHECKDB コマンドの全体的なパフォーマンスが制限されることがあります。 次の制限に注意してください。

  • パフォーマンスの改善は、 修復オプションを使用するときのパフォーマンスを向上させるように設計されていません。 たとえば、 REPAIR_ALLOW_DATA_LOSSオプションを使用する場合、パフォーマンスの向上はパフォーマンスを向上させるように設計されていません。

  • この改善は、 DBCC CHECKALLOCコマンドには影響しません。

  • この改善により、多くのページを含むインデックスに対するDBCC CHECKTABLEコマンドのパフォーマンスが向上することがあります。 ただし、 DBCC CHECKTABLE コマンドのパフォーマンスを向上させることはできません。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。