okinawa

IT勉強メモ

バッファプールとログバッファ

バッファプールとログバッファ

バッファプール:ストレージ(HDD)にあるRDBのデータの一部を保持している。高速化のため。

ログバッファ:更新処理のときに更新情報をログバッファ上にためて、コミット時にまとめて行う。
なんと更新処理が終わったという通知はログバッファに更新情報を書き溜めたよという通知であって、実際にストレージの更新が終わったという通知ではないらしい。
ストレージの更新は遅いからログバッファ上での終了を更新終了として通知しているんだって。
なので、ストレージの更新が終わる前に障害で落ちるとデータ整合性が取れなくなる。

SQLServerでのバッファプールの確認方法

SELECT [name], [value], [value_in_use]
FROM sys.configurations
WHERE [name] = 'max server memory (MB)' OR [name] = 'min server memory (MB)';

SSMSでDBを右クリック→プロパティ→メモリ でもOK

メモリ

・参考
サーバー メモリの構成オプション - SQL Server | Microsoft Learn