SQL Azure のテーブルはクラスター化インデックスが必須となっています。
そのためヒープ構造のテーブルは作成ができず、B-Tree 構造のテーブルとなります。
インデックスが必須ということはデータの挿入状況によってはインデックスの断片化が発生するはずです。
今回の投稿ではそのあたりを見ていきたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
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 »
Windows Server 2008 以降のクラスターではクライアントアクセスポイント (CAP) で作成されるネットワーク名は Kerberos 認証が有効になっているため Active Directory 上に仮想コンピューターオブジェクト (VCO) としてコンピューターアカウントが作成されます。
# Windows Server 2003 はデフォルトの設定では Kerberos 認証が無効な状態だったので、ネットワーク名のリソースを作成してもコンピューターアカウントは作成されていませんでした。
SQL Server 2008 以降をクラスターインスタンスとしてインストールした場合もコンピューターアカウントが作成されたりするのですが。
# Windows Server 2003 のクラスター上に SQL Server のクラスターインスタンスをインストールした場合も作成されます。
クライアントアクセスポイントを作成する際にちょっとした注意点があるのでまとめてみたいと思います。
以前、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 を使ってどのような情報が確認できるのかまとめてみたいと思います。
前回、クラスター環境の SQL Server をシングルユーザーモードで起動 という投稿を書きました。
この投稿ではクラスターのサービス (Cluster Service) が起動した状態が前提となっていました。
今回はクラスターのサービスが起動しない状態になった場合に、クラスター環境の SQL Server を起動するための手順をまとめてみたいと思います。
# かなり無理やり起動させていますので、実施する場合は自己責任でお願いいたします。
本作業は 2 ノードクラスターで構成された環境で、1 ノードのみ起動した状態で実施しています。
SQL Server の障害時はシステムデータベースのリストア時に SQL Server をシングルユーザーモードで起動することがあります。
シングル ユーザー モードでの SQL Server の起動
SQL Server サービスのスタートアップ オプションの使用
クラスター環境でない SQL Server の場合では、コマンドプロンプトから [sqlservr.exe ?m] で SQL Server を起動させるか、SQL Server 構成マネージャーでスタートアップパラメーターに [-m] を指定します。
# SQL Server Agent や Reporting Services のサービスを停止していないと、これらのサービスがシングルユーザーモードの接続をとってしまうので注意が必要だったりしますが。 ![]()
今回の投稿ではこのシングルユーザーモードをクラスター環境で実行するための手順についてまとめてみたいと思います。
以前使っていた SDK 1.3 に含まれている VM Role 用の統合コンポーネントをインストールしてある環境をデプロイしたところ、リモートデスクトップで接続が出来なくて四苦八苦したのでメモとして。
# 以前、twitter で話題になっていたのですが、どこに情報があったのかすっかり忘れていました(汗)
SQL Server のトレースフラグ (TF) で 834 というオプションがあります。
Sysinternals の VMMap を使うとこの TF による変化を見ることができますので、今回はこれについてまとめてみたいと思います。
メモリの詳しいことに関してはこちらがとても参考になります。
# この情報見て、VMMap で見ればいいんだな~ということに気づきました。
運用で表 LAN (サービス用) / 裏 LAN (バックアップ / 運用監視用) を作る時があるかと思いますがドメインコントローラー (DC) で NIC を 2 枚差していた時の小ネタについてまとめてみたいと思います。
Office 365 の Beta 版が使用できるようになったのでちょいちょい触っています。
通常メールアドレスのドメインは [@xxxxx.onmicrosoft.com] が使用されるのですが、自分で取得した独自のドメインを使用することも可能です。
今回はその手順についてまとめていきたいと思います。