DBCCコマンドは、グローバルスコープおよびセッションスコープで使えます。
具体的には、「DBCC TRACEON(トレースフラグ番号, スコープ)」のように記述します。複数個有効にする場合には、以下のようにトレースフラグ番号をカンマ(,)区切りで複数並べて記述します(図2)。
DBCCにはトレースフラグを無効にする機能もあります。「DBCC TRACEOFF(トレースフラグ番号、スコープ)」の書式で制御できます。また「DBCC TRACESTATUS」コマンドで、番号ごとのトレースフラグの設定状況も確認できます。
スコープの指定については、最後の項目に「-1」を記述するとグローバルスコープでの適用になり、何も記述しなければ「DBCC TRACEONを実行したセッション」のトレースフラグが適用されます。
クエリ単位でトレースフラグを有効にするには「クエリヒント」を使います(図3)。クエリヒントの詳細はひとまずMicrosoftの公式レファレンスを参照いただくとして、ここではクエリヒントからトレースフラグ設定に関わる部分のみを紹介します。
クエリヒントを用いたトレースフラグ設定は、「ヒントを設定したクエリのみ」が対象です。そのクエリの実行が終われば後続のクエリへ影響を及ぼさないので、「それだけ」を対象にしたいかどうかで方法を切り分けます。もし設定がセッション全体で必要ならば、前述したDBCCコマンドを使う方法が適しています。
今回はトレースフラグを設定する3つの方法を紹介しました。次回から実際のトレースフラグの番号ごとの挙動を解説していきます。
ユニアデックス株式会社 NUL System Services Corporation所属。Microsoft MVP Data Platform(2011〜)。OracleやSQL Serverなど商用データベースの重大障害や大型案件の設計構築、プリセールス、社内外の教育、新技術評価を担当。2016年IoTビジネス開発の担当を経て、2016年現在は米国シリコンバレーにて駐在員として活動中。目標は生きて日本に帰ること。
ユニアデックス株式会社所属。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。
Copyright © ITmedia, Inc. All Rights Reserved.