現象
バッファープール拡張機能 (BPE) が有効になっている Microsoft SQL Server 2014、2016、または2017のインスタンスがあることを前提としています。 BPE ファイルで i/o エラーが発生した場合は、BPE が無効になることがあります。次のようなバッファータイムアウトエラーが記録されます。
L2 バッファープールの書き込みエラー... バッファープール拡張機能が正常に無効化されました。 バッファープール拡張機能 "file_path" を削除しています。 バッファーラッチを待っている間にタイムアウトが発生しました--type 4... エラー: 845、レベル:17、状態: 1。 バッファーラッチを待機しているときにタイムアウトが発生しました (page_id) エラー: 5901、レベル:16、状態: 1。 データベース 'database_name' に属する1つ以上の回復ユニットが、チェックポイントを生成できませんでした。 通常、これは、ディスクやメモリなどのシステムリソースがない場合や、データベースが破損している場合に発生します。 このエラーの詳細については、エラーログの前のエントリを確認してください。 バッファーラッチを待っている間にタイムアウトが発生しました--type 3...
この問題が発生すると、一部の孤立したバッファーラッチが残り、DBCC CHECKDB、チェックポイント、バックアップログの失敗などの操作が行われます。
注: SQL Server 2014 Service Pack 1 の累積更新プログラム1に更新しても、このエラーは解決できません。
解決方法
累積的な更新情報:
この問題は、SQL Server の次の更新プログラムで修正されています。
SQL Server 2016 サービス Pack2 の累積更新プログラム5
SQL Server 向けの新しい累積的な更新プログラムには、以前のビルドで使用されていたすべての修正プログラムとセキュリティの修正が含まれています。 使用しているバージョンの SQL Server 用の最新のビルドをインストールすることをお勧めします。
SQL Server 2017 の最新の累積的な更新プログラム
オンデマンドのホットフィックスの情報:
この問題は、次の SQL Server 用のオンデマンドの修正プログラムによって修正されています。
SQL Server 2016 SP2 CU4 のオンデマンド修正プログラムの更新プログラム
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。