Microsoft Windows Developer Days で オンプレ & クラウドのデータを自在に活用! SQL Server 2012 開発 のセッションに参加させていただいてなるほどと思ったので軽くまとめてみたいと思います。
Archive for the ‘SQL Server’ tag
SQL Server のお勧め書籍
個人的な SQL Server お勧め書籍の紹介です。
ちょいちょい更新していきたいと思います。
Read the rest of this entry »
統計情報の自動更新に関する考察
統計情報の自動更新の挙動について自分なりに考えるためのメモになります。
検証しながら試してはいますが正確に挙動を把握できているとは言い難いので考察というタイトルにしています。
Microsoft SQL Server Japan Support Team Blog さんのブログの 統計情報の自動更新が ON の時には統計情報を手動で更新する必要はない? を読んで、以前自分で書いた SQL Server 2008 R2 SP1 で追加された統計情報の自動更新に関してのトレースフラグ でリコンパイルをする必要があったことにつながるのかなと思っています。
Clustered Index Scan のプランを抽出する
クラスター化インデックススキャン (Clustered Index Scan) の実行プランが発生した場合、対象のテーブルに対して全件走査 (フルスキャン) が発生するので、データの件数によってはコストの高いクエリとなっている可能性があります。
勉強がてら、キャッシュされているプランからクラスター化インデックススキャンが発生している実行プランを抽出するクエリを書いてみました。
元になるクエリは 暗黙の型変換の影響 を参考にさせていただきました。
Read the rest of this entry »
SQL Server 構成マネージャーで表示される IP アドレスの追加方法
TABLESAMPLE と TOP 句を組み合わせる場合の注意点
以前、TABLESAMPLE 句のデータ取得はどのように動作しているか という投稿をしました。
この TABLESAMPLE と TOP 句を組み合わせる場合の注意点について少し書いてみたいと思います。
SQL Server 2012 のデッドロック情報の取得について
SQL Server 2008 R2 まではデッドロックが発生した際の情報取得として、トレースフラグ (1204 / 1222) を設定していました。
SQL Server 技術情報 – デッドロックの解決方法
デッドロックの検出と終了
デッドロック調査用の情報採取
SQL Server 2012 では拡張イベントでデッドロックの情報取得がデフォルトで設定されています。
今回は SQL Server 2012 のデッドロック情報の取得について見ていきたいと思います。
統計情報の更新状況の確認
SQL Server のクエリの実行状況に影響する要素として統計情報があります。
統計情報はテーブル内のデータのサンプリングとなり、この情報を使用してどのようなクエリの実行プランを使用すればよいのかを決定していきます。
本番環境と開発環境で実行時間に差が出る、タイミングによって実行時間に差が出る場合、
- インデックスの断片化状態の確認
- 統計情報の更新状況の確認
- 使用されているプランの確認
をすることがあるかと思います。