SE の雑記

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

SQL Server 2005 で -T1118 を設定している場合の不具合

leave a comment

 
KB はこちら。
 
tempdb を複数ファイルで構成し -T1118 を設定していた場合に、負荷の高い一時テーブルを作成すると
SGAM (Shared Global Allocation Map) ページでページラッチ待ちが発生し、ブロッキング / パフォーマンス低下の
原因となってしまうという問題があったんですね。
負荷の高い一時テーブルは SELECT INTO ~ #tmptbl といった利用方法等が該当するようです。
 
-T1118 を使用する人は大抵 tempdb を分割する必要性を知っているはずですのでこの問題に遭遇する人が多いかも…。
 
この動作自体は不具合で -T1118 は依然として有効なトレースフラグなのですが SGAM がホットスポットになるとは
全く考えたことがありませんでした。
この不具合は SQL Server 2005 SP2 CU2 で修正されているようですので、最新の CU や SP3 をインストールされている方には
影響は無いようです。
# 以下の KB が CU2 で改善される問題の一覧です。
SQL Server 2008 でも -T1118 が有効というドキュメントが見つかったのも収穫ですね。
 

Written by masayuki.ozawa

12月 18th, 2008 at 12:51 pm

Posted in SQL Server

Leave a Reply

*