SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 11月 15th, 2020

SQL Server / Azure SQL Database で非効率な SELECT による Page writes/sec の増加について

leave a comment

SQL Server / Azure SQL Database (SQL DB) で、データベースのデータファイル (mdf/ndf) に対しての書き込みの発生状況を確認するための方法として「SQL Server: Buffer Manager オブジェクト」の「Page writes/sec」の情報を調べるという手法があります。

Page writes/sec の説明は次のようになっています。

物理的なデータベース ページ書き込みが実行される 1 秒あたりの回数を示します。

 

SQL Server では、物理的なデータベース ページへの書き込みが発生する一般的な要因としては、次のような内容があります。

  • チェックポイントの発生による、ダーティーページのデータファイルへの書き込み
  • Checkpoint pages/sec / Background writer pages/sec の情報と組み合わせての確認
  • レイジー ライターによる、ダーティーページのデータファイルへの書き込み
    • Lazy writes/sec の情報と組み合わせて確認
  • クエリストアの情報をデータファイルに永続化するための書き込み
  • クエリストアは少し例外的なパターンですが、基本的には、メモリ上では変更されているが、データファイルには書き込みが行われていないデータを書き込み、ディスクに永続化する際に Page writes/sec が発生します。

    ただし、特定の状況下では、非効率な SELECT によっても Page writes/sec が発生するケースがあります。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    11月 15th, 2020 at 11:16 pm