都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

パフォーマンスカウンタの詳細を調べていて、Background writer pages に目がとまったのでしらべてみる

 SQL Server のメモリー、CPUおよびディスク関連のパフォーマンスカウンタを下図のように調査していたら、
f:id:koogucc11:20141231170428p:plain
 Background writer pages という見かけたことのないカウンタに遭遇しました。調べてみると、Indirect Checkpoint という SQL Server 2012 から追加された機能設定時にきちんと動作しているかをチェックするパフォーマンスカウンターのようです。
 ここで、チェックポイントの説明をしておきます。SQL Server はパフォーマンス向上のためメモリ にあるデータベースのページが変更されます。そのため、ページが変更されても即座にディスクに保存されることはありません。SQL Server は定期的に現在メモリにある修正されたページおよびトランザクションログがメモリからディスクに保存されます。これをチェックポイントと呼んでいます。
 復旧時間の正確性向上を主目的として実装されたもののようですね。調査していると色々知らないこと出てきますね。しっかり勉強しないといけませんね。(詳細な調査は来年にしよう...)