Microsoft では、Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2008 の修正プログラムを 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの修正には、以前の SQL Server 2008 R2 または SQL Server 2008 の修正リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。
現象
たとえば次のようなシナリオを考えてみます。
- SQL Server 2008 R2またはSQL Server 2008のデータベースで行のバージョン管理機能を有効にします。
- スナップショット分離レベルを使用するようにデータベースを構成します。
- データベースを更新する多数のトランザクションを同時に実行する場合。
このシナリオでは、次のようなエラー メッセージが SQL Server エラー ログ ファイルに記録されます。
エラー メッセージ 1
注
<Date><SPID> バッファー ラッチの待機中にタイムアウトが発生しました -- タイプ 2、bp 0000003DDEFCBC80、ページ 3:58642854、統計 0xc0000b、データベース ID: 6、割り当てユニット ID: 72057594048806912、タスク 0x000000717CC2A748: 0、待機時間 300、フラグ 0x3a、所有タスク 0x00000062F0A6CE08。 待機し続けません。
エラー メッセージ 2
注
<Date><SPID> ラッチの待機中にタイムアウトが発生しました: クラス 'APPEND_ONLY_STORAGE_FIRST_ALLOC'、ID 0000006196214E30、種類 4、タスク 0x000000002CA45948 : 0、待機時間 300、フラグ 0x1a、所有タスク 0x00000062F0533288。 待機を続けます。
エラー メッセージ 3
注
<日付> spid#,不明,エラー: 845<c/> 重大度: 17<c/> 状態: 1。
原因
この問題は、バージョン ストア ページの書式設定が割り当て後に開始されるために発生します。 ただし、ページはラッチされます。 そのため、ページの競合が多くなります。
解決策
累積的な更新プログラムの情報
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 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 マイクロソフトでは、この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2629969 SQL Server 2008 Service Pack 3 以降にリリースされた SQL Server 2008 ビルドには、特定の SQL Server Service Pack 用に Microsoft SQL Server 2008 修正プログラムが作成されます。 SQL Server 2008 Service Pack 3 のインストールには、SQL Server 2008 Service Pack 3 修正プログラムを適用する必要があります。 既定では、1 つの SQL Server Service Pack で提供されているすべての修正プログラムは、次の SQL Server Service Pack に含まれています。
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム 1 で最初にリリースされました。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 1 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム 8 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
2534352 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 8 注: ビルドは累積的であるため、新しくリリースされた各修正プログラムには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
ディスク帯域幅を最大化するために Tempdb データベースのデータ ファイルの数を増やすと、この問題は発生しない可能性があります。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2154845 tempdb データベースでの割り当ての競合を減らすための推奨事項SQL Server
参考資料
行のバージョン管理に基づく分離レベルの詳細については、次の MSDN Web サイトを参照してください。
行のバージョン管理に基づく分離レベルに関する一般的な情報
SQL Server の増分サービス モデルの関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
935897 報告された問題に対する修正プログラムを提供する SQL Server チームの増分サービス モデル (ISM) について
SQL Server の更新プログラムの命名方式の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
822499 Microsoft SQL Server ソフトウェア更新プログラム パッケージの新しい命名スキーマソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明