SE の雑記

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

Archive for the ‘SQL Server’ Category

Enzo SQL Baseline を使用したベースラインの比較

leave a comment

先ほど Enzo SQL Baseline を使用した SQL Server / SQL Azure のベースライン作成 を投稿したのですが、タイトルにベースラインと書いている割にはベースラインにあまり触れていないことに気づきました (汗)

ということで追加投稿でベースラインの比較についてまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 12th, 2011 at 6:56 pm

Posted in SQL Azure,SQL Server

Enzo SQL Baseline を使用した SQL Server / SQL Azure のベースライン作成

one comment

twitter でパスを受けたので軽くまとめてみたいと思います。

codeplex に SQL Server and SQL Azure Performance Testing: Enzo SQL Baseline というツールが公開されています。
image

今回の投稿ではこのツールの使い方を軽く見てみたいと思います。

ヘルプに関してはオンラインヘルプで提供されています。
Online Help

ちなみに私は英語が全然だめなので英語を読まずに感覚だけて使っていますので予めご了承ください。
# 英語のツールを使うときは [考えるな、感じろ!] をモットーに検証をしています。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 12th, 2011 at 12:31 pm

SQL Azure のデータ更新時に発生する待ち事象を確認してみる

one comment

SQL Azure のユーザー データベースは 3 重化され、耐障害性が確保されています。

詳しくは蒼の王座さんのブログに書かれていますのでこちらをご参照。
蒼の王座 >> TechEDNAセッション:SQL Azureパフォーマンスの考察とトラブルシューティングまとめ

こちらの記事の中に以下の一文がありました。

コミット時に複製するので、複製できなければコミットできない

 

コミット時に何か待ち事象が発生していないかな~ということが気になり調べてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 10th, 2011 at 8:11 pm

Posted in SQL Server,Windows Azure

Tagged with

SQL Azure のデータベースのファイル構成を想像してみる -tempdb 編-

leave a comment

SQL Azure のデータベースのファイル構成を想像してみる の派生で、今回はユーザーデータベースではなく tempdb について想像してみたいと思います。
前回に引き続き今回も想像です。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 9th, 2011 at 10:26 pm

SQL Azure のデータベースのファイル構成を想像してみる

2 comments

想像してみると書いていますように、取得できた情報から 「こういう感じかな~」 と思ったことを書いています。
あらかじめご了承ください。

SQL Server のデータベースの基本構成は以下のようになります。
# パーティショニングテーブルは除く
image

データベースは

  • データ
  • ログ

で構成され、データは

  • 一つのファイルグループに属し
  • ファイルグループは一つ以上のデータファイルで構成

で構成されます。

ファイルグループは複数のデータファイルで構成することもできますので、
image

ということも可能になります。

本日は SQL Azure ではこの構成がどのようになっているかを想像してみたいと思います。
SQL Azure はこの手のファイル構成を意識しないでよい (任意の構成に変更できない) のですが、気になったので調べてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 9th, 2011 at 12:01 am

Posted in SQL Server,Windows Azure

Tagged with

SQL Azure のインデックス断片化と再構築について調べてみる

leave a comment

SQL Azure のテーブルはクラスター化インデックスが必須となっています。
そのためヒープ構造のテーブルは作成ができず、B-Tree 構造のテーブルとなります。

image

インデックスが必須ということはデータの挿入状況によってはインデックスの断片化が発生するはずです。
今回の投稿ではそのあたりを見ていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 7th, 2011 at 8:43 pm

Posted in SQL Server,Windows Azure

Tagged with

SQL Azure のスケジューラー数と並列クエリについて

one comment

SQL Server は内部で SQL Server 独自のスケジューラーとして SQLOS (または User Mode Scheduler) が起動しています。
通常、SQLOS のスケジューラーは各コアに対して起動しており、4 コア CPU の場合は以下のようになります。
# sys.dm_os_schedulers から取得可能です。
image
VISIBLE ONLINE となっているのがユーザーセッションで使用可能なスケジューラーとなり、この環境では 0 ~ 3 までの 4 個のスケジューラーを使用することが可能です。
# (DAC) となっているのは専用管理者接続用なので数に含めていません。
スケジューラーが複数あるということは複数コアが SQL Server に割り当てられているので、複雑な処理のクエリを実行する際に複数の CPU を使用した並列クエリ (Pararell Query) が使用できるようになります。
image
裏ワザで特殊なスタートアップオプションを使うと物理コア数以上のスケジューラーを起動することができたりもします。
# 下の画像は 1 コアの CPU の環境で 16 個のスケジューラーを起動した例になります。
image
SQL Server からは有効な CPU として認識しているので、1 CPU 環境でも並列クエリが実行できたりします。
image
image
このあたりが SQL Azure ではどのようになっているかを確認してみようというのが今回のお話です。
Read the rest of this entry »

Written by Masayuki.Ozawa

6月 6th, 2011 at 10:52 pm

Posted in SQL Server,Windows Azure

Tagged with

Spotlight on SQL Server で取得できる SQL Azure の情報

leave a comment

以前、Spotlight on SQL Server で SQL Azure に接続 という投稿をしました。

Spotlight On SQL Server は SQL Server の状態をグラフィカルに監視できるソフトになります。

オンプレミスの SQL Server の場合は以下のような情報を監視できます。
image
image

SQL Azure の監視もできるのですが、オンプレミスと異なり OS の観点では確認することはできません。
また、SQL Azure の情報はパフォーマンスモニタ系の DMV が提供されていないため、かなり限定されたものになっています。
image

Playback 機能もついているので、過去の情報を確認することも可能です。
# データコレクションより細かな情報を確認できると思います。
image

 

この Spotlight on SQL Server を使ってどのような情報が確認できるのかまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 5th, 2011 at 9:16 pm

Posted in SQL Server,Windows Azure

Tagged with

クラスター環境の SQL Server をクラスターサービスが停止した状態で起動する方法

one comment

前回、クラスター環境の SQL Server をシングルユーザーモードで起動 という投稿を書きました。
この投稿ではクラスターのサービス (Cluster Service) が起動した状態が前提となっていました。

今回はクラスターのサービスが起動しない状態になった場合に、クラスター環境の SQL Server を起動するための手順をまとめてみたいと思います。
# かなり無理やり起動させていますので、実施する場合は自己責任でお願いいたします。

本作業は 2 ノードクラスターで構成された環境で、1 ノードのみ起動した状態で実施しています。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 31st, 2011 at 8:27 am

Posted in MSCS/WSFC(MSFC),SQL Server

Tagged with

クラスター環境の SQL Server をシングルユーザーモードで起動

one comment

SQL Server の障害時はシステムデータベースのリストア時に SQL Server をシングルユーザーモードで起動することがあります。
シングル ユーザー モードでの SQL Server の起動
SQL Server サービスのスタートアップ オプションの使用

クラスター環境でない SQL Server の場合では、コマンドプロンプトから [sqlservr.exe ?m] で SQL Server を起動させるか、SQL Server 構成マネージャーでスタートアップパラメーターに [-m] を指定します。
# SQL Server Agent や Reporting Services のサービスを停止していないと、これらのサービスがシングルユーザーモードの接続をとってしまうので注意が必要だったりしますが。
image

今回の投稿ではこのシングルユーザーモードをクラスター環境で実行するための手順についてまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 30th, 2011 at 11:23 pm