Dr. K's SQL Serverチューニング研修 Part II (2)
チューニングに大変革をもたらす動的管理ビュー
CSK Winテクノロジ/熊澤 幸生
オフィスローグ/工藤 淳(インタビュアー)
2007/9/10
日本におけるSQL Serverコンサルタントの第一人者、熊澤幸生氏にチューニングのノウハウを語っていただくシリーズの第2弾は、SQL Server 2005に特化した内容をお届けする。インタビュアーは引き続き、SQL Serverへの造詣が深いITジャーナリスト、工藤淳氏が担当する。(編集部)
前回「SQL Server 2005でガラッと変わった個所とは?」では、SQL Server 2005の注目すべき新機能を紹介しました。今回は、その中でもイチ押しの機能である「動的管理ビュー」を理解していただこうと思います。SQL Server のパフォーマンス・チューニングを手掛けるエンジニアにとって、動的管理ビューは画期的です。これまでほとんどドキュメント化されず、その状態を参照する方法も知らされていなかったSQL Serverの内部が、ほぼ全部といってよいくらい可視化されたからです。
動的管理ビュー(DMV:Dynamic Management View)と動的管理関数(DMF:Dynamic Management Function)の2つの用語を覚えましょう。これらはSQL Server 2005から入ってきた新しい概念です。
動的管理ビューには「プラットフォームからのパフォーマンス・チューニングに有効な動的管理ビュー」「個々のクエリチューニングに非常に役に立つ動的管理ビュー」という2つの代表的なビューがあります。これ以外にも、オプティマイザがどのようなクエリプランを作成しているかといった「実行プランの内部を見る動的管理ビュー」もあります。さらには、例えば特定のオブジェクトに特化して、「インデックスが有効に使われているか追跡する動的管理ビュー」などというのもあります。このことからも分かるように、ひとくちに動的管理ビューといっても非常に範囲が広いことを、まずは理解してください。
パフォーマンスモニタから動的管理ビューへ |
パフォーマンス・チューニングに用いるツールとして、SQL Server 2000ではパフォーマンスモニタを使っていました。SQL Server 2000には「sysperfinfo」という仮想テーブルがあり、パフォーマンスモニタはこの中にあるオブジェクトごとのパフォーマンス・カウンタ値を取得してユーザーに提供していました。エンジニアはそれをどう判断すべきか悩みながらチューニングを行っていたのです。
このパフォーマンスモニタが、SQL Server 2005では動的管理ビューに変わったのです。動的管理ビューは実に多彩なカウンタを可視化してエンジニアに提供してくれます。この膨大なカウンタを簡単に活用できるよう、カウンタ呼び出しコマンドのネーミングルールが決まっています。基本的な命名規約では、頭に必ずスキーマ名の「sys.」があって、その後が「dm_」になり、その後がいろいろ変わっていきます。この規約を知っていればどういうタイプのカウンタなのかがすぐに分かります。例えばカテゴリ名の「os」に含まれる「performance_counters」であれば、下のようなビューになります。
sys.dm_os_performance_counters
これはパフォーマンス・カウンタを表示させるコマンドです。動的管理ビューと動的管理関数のカテゴリを表1にまとめます。ここにはService Brokerというメッセージベースの非同期処理のための新しい機能などもあります。さらにイベントを見るオブジェクトやSQL OS、インデックス、ミラーリング、データベース全体、トランザクション……これらに関するカウンタを参照できる機能がひととおり用意されています。
| カテゴリ | プレフィックス名 |
| 共通言語ランタイム関連の動的管理ビュー | sys.dm_clr_* |
| データベースミラーリング関連の動的管理ビュー | sys.dm_db_mirroring_* |
| データベース関連の動的管理ビュー | sys.dm_db_* |
| 実行関連の動的管理ビューおよび関数 | sys.dm_exec_* |
| フルテキスト検索関連の動的管理ビュー | sys.dm_fts_* |
| インデックス関連の動的管理ビューおよび関数 | sys.dm_db_* |
| I/O関連の動的管理ビューおよび関数 | sys.dm_io_* |
| クエリ通知関連の動的管理ビュー | sys.dm_qn_* |
| レプリケーション関連の動的管理ビュー | sys.dm_repl_* |
| Service Broker関連の動的管理ビュー | sys.dm_broker_* |
| SQL Serverオペレーティングシステム関連の 動的管理ビュー |
sys.dm_os_* |
| トランザクション関連の動的管理ビューおよび関数 | sys.dm_tran_* |
| 表1 動的管理ビューと動的管理関数のカテゴリ一覧 詳細はMSDN2「動的管理ビューと動的管理関数」を参照 |
|
| 1/2 |
| Index | |
| 連載:Dr. K's SQL Serverチューニング研修 Part II (2) チューニングに大変革をもたらす動的管理ビュー |
|
| Page 1 ・パフォーマンスモニタから動的管理ビューへ |
|
| Page 2 ・動的管理ビューを活用してWait事象を解明する ・動的管理ビューはチューニング情報の宝庫 |
|
| Dr. K's SQL Serverチューニング研修 Part II |
TechTargetジャパン
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
