連載
» 2017年12月19日 05時00分 公開

SQL Serverトレースフラグレファレンス(10):【トレースフラグ 610】──クラスタ化インデックス付きテーブルで最小ログ記録を有効にする

「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「トレースフラグ」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は「トレースフラグ610の詳細と使い方」を解説します。

[椎名武史,ユニアデックス株式会社]

SQL Serverトレースフラグレファレンス一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブル対策を踏まえた「SQL Serverのトレースフラグ」の使いこなしTipsを紹介していきます。

 今回は「トレースフラグ610」の詳細と使い方を解説します。

 トレースフラグ610は、クラスタ化インデックス付きテーブルで、最小ログ記録を有効にする設定です。610の対応バージョンは、SQL Server 2008以降、SQL Server 2014までです。

 SQL Serverはシステム障害が発生してもデータベースの一貫性を保つために、トランザクションログに全ての変更を記録しています(連載:SQL Serverトラブルシューティング24)。

 しかし、全ての変更を記録するとトランザクションログの肥大化や処理遅延を引き起こす可能性があります。例えば商品の入れ替えや月次処理などで、一括操作を実施する場合です。

 こういった場合に役立つのが最小ログ記録です。対象データベースが単純復旧モデルか、一括ログ復旧モデルの場合は、一括操作をエクステントの割り当てやメタデータの変更だけの最小限のログ記録にとどめることができます。

 最小ログ記録が使用できるか否かは状況により異なります。クラスタ化インデックスが付与されているテーブルに対する一括操作では、テーブルが0行であり、さらにTABLOCKヒントとORDERヒントが付与されている場合にのみ、最小ログ記録を使用できます。

 ここでトレースフラグ610を有効にするとテーブル内の行数やヒントに関わらず、最小ログ記録を使用できます。

設定可能なスコープ

トレースフラグ610
設定方法 可/不可 要/不要
スタートアップ
グローバルスコープ
セッションスコープ
クエリスコープ ×
トレースフラグ 3604/3605 不要

動作例

 一括操作を実行する前にトレースフラグ610が有効になっていれば、可能な限り最小ログ記録を使用します。ただし、最小ログ記録にも弱点があります。最小ログ記録を含んだトランザクションログバックアップでは、特定の時点に復旧させることができず、バックアップ終了時点にしか復旧させることができません。

 トランザクションログの使用率の推移を図1に示しました。開始前の使用率は0.1%未満。通常の一括挿入後には10.2%まで使用率が増加しました。トレースフラグ610を有効にした一括挿入では10.5%だったことから、一括挿入で0.3%以下しか使用していないことを確認できました。

図1 図1 トランザクションログの使用率の変化(トレースフラグ610で抑制可能)

 トレースフラグ610は、SQL Server 2008で導入された設定です。MSDN Blogsによれば、SQL Server 2016からトレースフラグの有無に関わらず最小ログ記録を使用します。従ってSQL Server 2016以降では、トレースフラグ610を考慮する必要がありません。

SQL Server 2016, Minimal logging and Impact of the Batchsize in bulk load operations(MSDN Blogs)

 ※本Tipsは、Windows Server 2012 R2上に「SQL Server 2014」をインストールした環境で解説しています

筆者紹介

内ヶ島 暢之(うちがしま のぶゆき)

ユニアデックス株式会社 NUL System Services Corporation所属。Microsoft MVP for Data Platform(2011〜)。OracleやSQL Serverなど商用データベースの重大障害や大型案件の設計構築、プリセールス、社内外の教育、新技術評価を担当。2016年IoTビジネス開発の担当を経て、現在は米国シリコンバレーにて駐在員として活動中。目標は生きて日本に帰ること。

椎名 武史(しいな たけし)

ユニアデックス株式会社所属。Microsoft MVP for Data Platform(2017〜)。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。


Copyright© 2018 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。