SE の雑記

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

Archive for 8月 21st, 2010

SQL Azure の統計情報関連で使用できる T-SQL について

one comment

Tech・Ed で Azure コミュニティの話もあるので最近は SQL Azure の勉強などをちょくちょくしています。

今日は SQL Azure の統計情報関連で使用できる T-SQL について調べてみました。
以下の技術情報を元にしています。
Transact-SQL Reference (SQL Azure Database)

?

■システム関数

STATS_DATE テーブルまたはインデックス付きビューの統計の最終更新日を返します。

?

■システムストアドプロシージャ

sp_autostats インデックス、統計オブジェクト、テーブル、またはインデックス付きビューの自動統計更新オプション (AUTO_UPDATE_STATISTICS) を表示または変更します。
sp_createstats CREATE STATISTICS ステートメントを呼び出して、統計オブジェクトの最初の列になっていない列の統計を 1 列ずつ作成します。
sp_helpstats 指定したテーブルの列およびインデックスに関する統計を返します
sp_statistics 指定したテーブルまたはインデックス付きビュー上にあるすべてのインデックスおよび統計の一覧を返します。
sp_updatestats 現在のデータベース内にあるすべてのユーザー定義テーブルと内部テーブルに対して UPDATE STATISTICS を実行します。

?

■システムビュー

sys.stats U、V、または TF 型の表形式オブジェクトの統計ごとに 1 行のデータを保持します。
sys.stats_columns sys.stats 統計の一部である列ごとに 1 行のデータを保持します。

?

■T-SQL ステートメント

CREATE STATISTICS テーブルまたはインデックス付きビューの 1 つまたは複数の列で、クエリの最適化に関する統計 (フィルター選択された統計情報を含む) を作成します。
DBCC SHOW_STATISTICS テーブルまたはインデックス付きビューについての、現在のクエリの最適化に関する統計を表示します。
DROP STATISTICS 現在のデータベースの指定されたテーブル内で、複数のコレクションの統計を削除します。

?

■データベースプロパティ (DATABASEPROPERTYEX)

IsAutoCreateStatistics 初期値:1 (TRUE) クエリのパフォーマンスを向上させるために、クエリ オプティマイザーが必要に応じて 1 列ずつの統計を作成します。
IsAutoUpdateStatistics 初期値:1 (TRUE) クエリで使用される既存の統計が古くなっている可能性がある場合、クエリ オプティマイザーによって更新されます。

?

統計情報関連としてはこれらを利用することが可能となっているようです。

STATS_DATE 関数が使えるので、統計情報が更新されたタイミングがわかるかな~と思ったのですが、SQL Azure では、NULL に
なってしまって更新日がうまく取得できませんでした…。
統計情報の自動更新はデフォルトで有効になっているのですが、データのサイズによっては実データとの乖離が発生する可能性が
ありますので、統計情報がいつ更新されたかが取得できるとデータベース管理者としてはうれしいのですけども。

SQL Azure も SQL Server 2008 R2 とベースは同じですので、最適なクエリの実行プランを選択するためには
統計情報は重要になってくると思いますので必要に応じた定期的な統計情報のメンテナンスは実施する必要があります。

SQL Azure には SQL Server Agent サービスがないので、SQL Azure 以外の機能で定期的にメンテナンスする必要がありますが。
# 開発をやらないのでこの辺のスキルが薄い…。

こういう情報調べるのって楽しいです♪

Written by Masayuki.Ozawa

8月 21st, 2010 at 2:09 pm

Posted in SQL Server

ただいま Tech・Ed Japan 2010 参加予定セッション検討中

leave a comment

Tech・Ed Japan 2010 の開催まであと一週間を切りました。
ぼちぼち参加予定セッションの検討などを。
# いまだに決まっていないのです…。

■1 日目

10:30 – 12:00 Keynote
12:25 – 13:15 Windows Azure スペシャル セッション
13:45 – 14:55 T2-301 : ついに登場! RemoteFX で実現する強化された MS VDI のアーキテクチャ
15:20 – 16:30 H-321 : Windows Azure アプリケーション開発体験 ? Windows Azure 管理/監視編 ?
16:55 – 18:05 TH-203 : 都市伝説のウソを暴く ? みんなで語ろう SQL Server の真実を ?
18:05 – 19:30 Attendee Party

?

■2 日目

9:20 – 10:30 TH-304 : (リピート) SQL Server 2008 R2 Parallel Data Warehouse Edition の特徴 ? 超並列の威?を?撃せよ!! ?
or
T4-305 : スケールしないシステムにおける開発者の過ち ? SQL Server の場合 ?
10:55 – 12:05 T1-301 : 企業内 PC の運?を変える Windows Intune
13:45 – 14:55 T3-307 : System Center Virtual Machine Manager 2008 R2 の徹底活??法
15:20 – 16:30 TH-403 : SQL Server 現役サポートエンジニア直伝 ? SQL Server トラブル シューティング実践編 ?
16:55 – 18:05 T4-401 : SQL Server による?規模 Mission Critical システムの展開
or
BOF-07 : Windows Platform による組み込み機器とサービス連携
18:30 – 19:40 T3-301 : Data Protection Manager 2010 を活?した Hyper-V のバックアップ
or
LT-02 : ライトニング トーク

?

■3 日目

9:20 – 10:30 T2-402 : あなたの Hyper-V 環境を最?限使い切る?法 ? Hyper-V 設定にまつわる Tips ?
10:55 – 12:05 T4-301 : プライベート クラウドでの SQL Server の展開 ? Hyper-V との Better Together ?
or
T2-304 : App-V/MED-V で実現する最新デスクトップ環境の構築?法 ? クライアントサイドの仮想化技術 ?
or
H-305 : Communications Server "14" サーバー インストールと管理
12:05 – 13:45 PeerTalk Lunch
13:45 – 14:55 T5-306 : SharePoint 2010 & Offi ce 2010 開発レシピ
or
T2-302 : プライベート クラウド構築講座 ? 無償ツール System Center Virtual Machine Manager Self-Service Portal 2.0 と共に ?
15:20 – 16:30 T5-403 : Exchange Server 2007/2010 のトラブルシュート Tips
or
T2-303 : Microsoft VDI の実践 ? 構築?法のポイントと活?ノウハウ ?
or
H-312 : System Center Operations Manager 2007 R2 のユーザー視点による監視
16:55-18:05 T2-401 😕 Effective Hyper-V R2 SP1 ? 詳説 Dynamic Memory ?
or
TH-303 : SQL Server と Oracle Database との?較 ? 都市伝説に書かれるほど劣っているのか!? ?

?

このような予定でセッションに参加しようかな~と思っています。

セッションルームで、FMV-BIBLO LOOX U/B50 を使っている人がいたら私かもしれませんw
# ブログ用のセミナーレポート必死で作っていると思います。

当日まで、セッション資料をみてじっくり悩みたいと思います。
どのセッションに参加しようか悩むのも Tech・Ed の楽しみですよね。

Written by Masayuki.Ozawa

8月 21st, 2010 at 8:21 am

Posted in セミナー

256 MB の GPU 搭載サーバーでRemoteFX が有効なゲスト OS は何台起動できるか。

leave a comment

検証環境の一台には RemoteFX を検証するために 256 MB の GPU を搭載しています。
以下が、GPU-Z というツールで取得した GPU の情報になります。
image
この環境で何台 RemoteFX 3D ビデオアダプターが有効になっているゲスト OS を起動できるかを試してみました。
結論から言ってしまいますと 1 ~ 3 台起動することが可能です。
RemoteFX 3D ビデオアダプターの技術情報として以下の情報があります。
Hardware Considerations for RemoteFX
この情報の中に、解像度と使用するモニター数の設定による必要となるメモリについての記載があります。
RemoteFX 3D ビデオアダプターで使用される GPU のメモリですが、解像度とモニター数に依存するようです。
RemoteFX 3D ビデオアダプターを追加した直後のデフォルトの状態では、
[モニターの最大数][1]
[モニターの最大解像度][1280 × 1024]
となります。
image
この状態ですと、[125 MB] のメモリが消費されることになります。
[125 MB × 2 = 250 MB] ではありますが、GPU に搭載しているメモリがフルに使えるかといわれるとそうでもないはずですので、
この状態では 1 台までRemoteFX 3D ビデオアダプターが有効になっているゲスト OS を起動することが可能です。
2 台目を起動しようとすると GPU のメモリが不足して以下のエラーになります。
image
[モニターの最大数][1]
[モニターの最大解像度][1024 × 768]

の場合は、使用されるメモリは [75 MB] となりますので [75 MB × 3 = 225 MB] で 3 台起動することが可能です。
RemoteFX ~ RemoteFX4 のゲスト OS で RemoteFX を有効にして解像度を 1024 × 768 にして起動できる台数を
確認した結果がこちらになります。
image
4 台目の起動でエラーになりましたが、[1280 × 1024] と比較して起動できる台数が増えています。
解像度とモニター数の設定による GPU のメモリの使用量ですが、RemoteFX USB デバイスリダイレクトにも影響します。
USB デバイスリダイレクトですが、RemoteFX 3D ビデオアダプターが追加されているゲスト OS でしか利用できません。
Web カメラのようなグラフィックを使用するデバイスをリダイレクトするのであれば、GPU のメモリを使用するのが良いと
思うのですが、グラフィックを利用しないデバイスを利用するのであれば、最低限の解像度にしてメモリの割り当てを
抑えるのは手段としてあるかと思います。
自宅に Web カメラ以外に何かリダイレクトできそうなデバイスがないかを探したところ、USB NIC がありました。
LAN-USB
いろいろと試してみたところこの USB デバイスをリダイレクトすることができました。
Windows 7 x86 SP1 Beta に LAN-USB を接続して、接続しているコンピュータ側にデバイスドライバをインストールしてない
状態だと USB デバイス リダイレクトの対象として表示されました。
image
デバイスドライバをインストールして、接続をしに行く端末上でデバイスが正常に認識できている状態ではリダイレクト可能な
デバイスとしては表示がされないのですよね…。
デバイスマネージャーでこの状態 (デバイスドライバをインストールしていない) であれば、リダイレクト可能ですが、
?image
この状態 (デバイスドライバインストール済み) だと、USB デバイスリダイレクト対象として表示されません。image
?image
どのようなデバイスがリダイレクトできるのか私はまだよくわかっていないので、この辺はきちんと調べてみたいと思います。
今回は、たまたまリダイレクトできたのでひとまず使用してみたいと思います。
USB NIC をリダイレクト対象として、選択して Windows 7 x86 SP1 Beta のゲスト OS に接続をしてみます。
上がゲスト OS、下がリモートデスクトップを実行している (USB 機器を接続している) 端末になります。
image
image
接続している USB NIC (AX88772) が Hyper-V 上のゲスト OS にリダイレクトされていることが確認できます。
実際に USB NIC で IP も取得できており、USB NIC から PING の疎通も確認できました。
同様の設定で、RemoteFX 3D ビデオアダプターを追加していないゲスト OS に接続をしてみます。
この場合、USB NIC がリダイレクトされません。
image?
リダイレクトできる機器の条件がわかっていないのですが、RemoteFX USB デバイスリダイレクトを使用する場合、
リダイレクトする機器の種類によって解像度を変更することも検討する必要がありそうですね。
それと、以前の投稿では BUFFALO の BWC-130H01 という Web カメラを使用してうまくカメラから動画をとることが
できなかったのですが、今回使用している LOOX U/B50N だとカメラを使用することができました。
GPU の問題ではなかったみたいですね。
合わせ鏡状態ではありますが、下の画像は Hyper-V のゲスト OS で Web カメラを使って取得したものになります。
image
途中から話がずれてしまった投稿ではありますが、RemoteFX について新しく検証してみたとことまとめてみました。

Written by Masayuki.Ozawa

8月 21st, 2010 at 1:27 am

Posted in Hyper-V