SE の雑記

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

Archive for the ‘SQL Server’ tag

SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置

one comment

Microsoft Windows Developer Days で オンプレ & クラウドのデータを自在に活用! SQL Server 2012 開発 のセッションに参加させていただいてなるほどと思ったので軽くまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 3rd, 2012 at 8:52 pm

Posted in SQL Server

Tagged with ,

SQL Server のお勧め書籍

one comment

個人的な SQL Server お勧め書籍の紹介です。
ちょいちょい更新していきたいと思います。
Read the rest of this entry »

Written by Masayuki.Ozawa

4月 30th, 2012 at 9:49 pm

Posted in SQL Server

Tagged with

統計情報の自動更新に関する考察

leave a comment

統計情報の自動更新の挙動について自分なりに考えるためのメモになります。
検証しながら試してはいますが正確に挙動を把握できているとは言い難いので考察というタイトルにしています。

Microsoft SQL Server Japan Support Team Blog さんのブログの 統計情報の自動更新が ON の時には統計情報を手動で更新する必要はない? を読んで、以前自分で書いた SQL Server 2008 R2 SP1 で追加された統計情報の自動更新に関してのトレースフラグ でリコンパイルをする必要があったことにつながるのかなと思っています。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 28th, 2012 at 2:23 pm

Posted in SQL Server

Tagged with

Clustered Index Scan のプランを抽出する

leave a comment

クラスター化インデックススキャン (Clustered Index Scan) の実行プランが発生した場合、対象のテーブルに対して全件走査 (フルスキャン) が発生するので、データの件数によってはコストの高いクエリとなっている可能性があります。
勉強がてら、キャッシュされているプランからクラスター化インデックススキャンが発生している実行プランを抽出するクエリを書いてみました。
元になるクエリは 暗黙の型変換の影響 を参考にさせていただきました。
Read the rest of this entry »

Written by Masayuki.Ozawa

4月 23rd, 2012 at 1:02 pm

Posted in SQL Server

Tagged with

SQL Server 構成マネージャーで表示される IP アドレスの追加方法

leave a comment

SQL Server 構成マネージャー (SQL Server Configuration Manager) では TCP/IP の設定変更 (主に使用するポートの設定) ができます。
image

この IP アドレスですがインストール時のものが設定されているようで、インストール後に追加した IP に関しては追加されていないことがあります。
# というより追加された記憶がありません…。

今回の投稿ではインストール後に設定した IP アドレスの追加方法についてまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 21st, 2012 at 3:08 pm

Posted in SQL Server

Tagged with

TABLESAMPLE と TOP 句を組み合わせる場合の注意点

leave a comment

以前、TABLESAMPLE 句のデータ取得はどのように動作しているか という投稿をしました。

この TABLESAMPLE と TOP 句を組み合わせる場合の注意点について少し書いてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 20th, 2012 at 6:48 pm

Posted in SQL Server

Tagged with

SQL Server 2012 のデッドロック情報の取得について

leave a comment

SQL Server 2008 R2 まではデッドロックが発生した際の情報取得として、トレースフラグ (1204 / 1222) を設定していました。
SQL Server 技術情報 – デッドロックの解決方法
デッドロックの検出と終了
デッドロック調査用の情報採取

SQL Server 2012 では拡張イベントでデッドロックの情報取得がデフォルトで設定されています。

今回は SQL Server 2012 のデッドロック情報の取得について見ていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 19th, 2012 at 2:48 pm

Posted in SQL Server

Tagged with ,

統計情報の更新状況の確認

leave a comment

SQL Server のクエリの実行状況に影響する要素として統計情報があります。
統計情報はテーブル内のデータのサンプリングとなり、この情報を使用してどのようなクエリの実行プランを使用すればよいのかを決定していきます。

本番環境と開発環境で実行時間に差が出る、タイミングによって実行時間に差が出る場合、

  1. インデックスの断片化状態の確認
  2. 統計情報の更新状況の確認
  3. 使用されているプランの確認

をすることがあるかと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 19th, 2012 at 11:52 am

Posted in SQL Server

Tagged with

拡張イベントを使用した待ち時間の多いクエリの取得

leave a comment

SQL Server で実行時に待ち時間の多いクエリを取得する場合、プロファイラや SQL Trace で Duration の多いクエリを取得することがあると思います。
image

SQL Server 2012 は拡張イベントを SSMS から設定できるようになっており、この拡張イベントを使用することでも待ち時間の多いクエリを取得することができます。

今回の投稿では拡張イベントを使用した待ち時間の多いクエリの取得についてまとめていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 18th, 2012 at 11:34 pm

Posted in SQL Server

Tagged with ,

SQL Server 2000 のデータベースを SQL Server 2012 に移行

3 comments

SQL Server 2012 では互換性レベルのサポートが [SQL Server 2005 (90)] ~ [SQL Server 2012 (110)] に変更となりました。
image
そのため、SQL Server 2000 の互換性レベルである [SQL Server 2000 (80)] はサポートされなくなっています。
環境によっては SQL Server 2000 のデータベースを最新の 2012 に移行する必要が出てくると思います。

今回の投稿ではデータベースを移行するためのシンプルな方法についてまとめていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 18th, 2012 at 10:00 pm