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

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

インデックスの作成の完了率を確認してみる

 新年度になりましたね。心機一転がんばります!さて、今回はインデックス作成の完了率について確認してみたいと思います。以前、下記の記事を書きました。sys.dm_exec_requests では、インデックス作成、リビルドなどの進捗率は確認できません。ryuchan.hatenablog.com
 
 インデックスの作成、リビルドなどは、Progress Report: Online Index Operation イベント クラスを使用します。詳しい内容は以下の URL を参照してください。
Progress Report: Online Index Operation イベント クラス

  • 今回は、SQL Server Profiler を使用して確認をしてみます。SQL Server Profiler で 下記のようにイベントを選択します。
    f:id:koogucc11:20150403004755p:plain
  • BigintData1 を選択します。
    f:id:koogucc11:20150403004806p:plain
  • トレースを実行し、インデックスなどの作成を実行します。
    f:id:koogucc11:20150403004816p:plain
  • 作成状況がレポートされます。BigintData1 に処理された行数が表示されます。
    f:id:koogucc11:20150403075625p:plain 
  • 完了すると、EndTime に終了時間が記録されます。
    f:id:koogucc11:20150403075637p:plain

 あ、完了率は自分で計算しないとわからないですね。sys.dm_exec_requests にまとめてほしいなぁ、と思ってみる。

※この前も取り上げたけど、SQL Server Unit Test が気になる...

Database Unit Testing for SQL Server Using tSQLt (Robert C. Martin Series)

Database Unit Testing for SQL Server Using tSQLt (Robert C. Martin Series)