SQL Azure ですが、SQL Server からリンクサーバーとして使用することも可能です。
今日はこの設定についてまとめていきたいと思います。
技術情報としては以下に記載されています。
Linked Servers to SQL Azure
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQL Azure ですが、SQL Server からリンクサーバーとして使用することも可能です。
今日はこの設定についてまとめていきたいと思います。
技術情報としては以下に記載されています。
Linked Servers to SQL Azure
以前、SQL Azure のスケジューラー数と並列クエリについて という投稿をしました。
スケジューラー系で SQL Azure の NUMA ノード数がどうなっているのかが気になったので調べてみました。
SQL Azure のユーザー データベースは 3 重化され、耐障害性が確保されています。
詳しくは蒼の王座さんのブログに書かれていますのでこちらをご参照。
蒼の王座 >> TechEDNAセッション:SQL Azureパフォーマンスの考察とトラブルシューティングまとめ
こちらの記事の中に以下の一文がありました。
コミット時に複製するので、複製できなければコミットできない
コミット時に何か待ち事象が発生していないかな~ということが気になり調べてみました。
SQL Azure のデータベースのファイル構成を想像してみる の派生で、今回はユーザーデータベースではなく tempdb について想像してみたいと思います。
前回に引き続き今回も想像です。
想像してみると書いていますように、取得できた情報から 「こういう感じかな~」 と思ったことを書いています。
あらかじめご了承ください。
SQL Server のデータベースの基本構成は以下のようになります。
# パーティショニングテーブルは除く ![]()
データベースは
で構成され、データは
で構成されます。
ファイルグループは複数のデータファイルで構成することもできますので、 ![]()
ということも可能になります。
本日は SQL Azure ではこの構成がどのようになっているかを想像してみたいと思います。
SQL Azure はこの手のファイル構成を意識しないでよい (任意の構成に変更できない) のですが、気になったので調べてみました。
SQL Azure のテーブルはクラスター化インデックスが必須となっています。
そのためヒープ構造のテーブルは作成ができず、B-Tree 構造のテーブルとなります。
インデックスが必須ということはデータの挿入状況によってはインデックスの断片化が発生するはずです。
今回の投稿ではそのあたりを見ていきたいと思います。
SQL Server は内部で SQL Server 独自のスケジューラーとして SQLOS (または User Mode Scheduler) が起動しています。
通常、SQLOS のスケジューラーは各コアに対して起動しており、4 コア CPU の場合は以下のようになります。
# sys.dm_os_schedulers から取得可能です。
![]()
VISIBLE ONLINE となっているのがユーザーセッションで使用可能なスケジューラーとなり、この環境では 0 ~ 3 までの 4 個のスケジューラーを使用することが可能です。
# (DAC) となっているのは専用管理者接続用なので数に含めていません。
スケジューラーが複数あるということは複数コアが SQL Server に割り当てられているので、複雑な処理のクエリを実行する際に複数の CPU を使用した並列クエリ (Pararell Query) が使用できるようになります。
![]()
裏ワザで特殊なスタートアップオプションを使うと物理コア数以上のスケジューラーを起動することができたりもします。
# 下の画像は 1 コアの CPU の環境で 16 個のスケジューラーを起動した例になります。
![]()
SQL Server からは有効な CPU として認識しているので、1 CPU 環境でも並列クエリが実行できたりします。
![]()
![]()
このあたりが SQL Azure ではどのようになっているかを確認してみようというのが今回のお話です。
Read the rest of this entry »
以前、Spotlight on SQL Server で SQL Azure に接続 という投稿をしました。
Spotlight On SQL Server は SQL Server の状態をグラフィカルに監視できるソフトになります。
オンプレミスの SQL Server の場合は以下のような情報を監視できます。
SQL Azure の監視もできるのですが、オンプレミスと異なり OS の観点では確認することはできません。
また、SQL Azure の情報はパフォーマンスモニタ系の DMV が提供されていないため、かなり限定されたものになっています。 ![]()
Playback 機能もついているので、過去の情報を確認することも可能です。
# データコレクションより細かな情報を確認できると思います。
この Spotlight on SQL Server を使ってどのような情報が確認できるのかまとめてみたいと思います。
System Center Advisor について書いていたのですが、ちょっと気分転換に SQL Azure を触ってみたいと思います。
前回作成した、VM Role 上の SQL Server に SQL Server Management Studio (SSMS) で接続するための方法をまとめてみたいと思います。