先週 [Microsoft Books Online for SQL Server Code-Named "Denali" CTP1] がダウンロードできるようになりました。
このインストール方法がちょっと独特でしたので軽くまとめてみました。
今回、提供されたファイルで初めてオフラインで使用できるようになったのかと思ったのですが、これ以前からオフラインで利用できたんですね…。
その方法も合わせてまとめてみたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
先週 [Microsoft Books Online for SQL Server Code-Named "Denali" CTP1] がダウンロードできるようになりました。
このインストール方法がちょっと独特でしたので軽くまとめてみました。
今回、提供されたファイルで初めてオフラインで使用できるようになったのかと思ったのですが、これ以前からオフラインで利用できたんですね…。
その方法も合わせてまとめてみたいと思います。
VM Role で展開したインスタンスのライフサイクルについて少しまとめていきたいと思います。
Microsoft の安納さんが以下のブログで情報を公開してくださっていて、この内容がとてもわかり易いです。
自分の勉強メモとしてまとめていますので、特に目新しいことは書いていないです…。
【Azure for ITPro】Active Directory ドメインコントローラーを VM Role にインストールすることがお勧めできない理由
公開されている技術情報としては以下の情報を参考にしています。
About the VM Role Deployment Lifecycle
Read the rest of this entry »
前回の投稿では、VM Role で Windows Azure Drive をマウントする方法をまとめてみました。
PowerShell を手動で実行しているので VM Role のインスタンスを再起動するたびに手動でマウントしないといけません…。
これはちょっと非効率ですよね。
今回の投稿では前回作成したPowerShellのスクリプトをタスクスケジューラでシステム起動時 (サーバーの起動時) に実行するように設定して、自動でマウントできるように設定をしてみたいと思います。
Web / Worker ロールであれば、StartUpTask や OnStart に起動時の処理を書けばよいと思うのですが、VM Role はそのあたりの仕組みは自前で実装しないといけないかと。
SQL Server には単純なクエリが実行された際に、内部的に自動でパラメーター化して実行される [簡易パラメーター化] (SQL Server 2000 では自動パラメーター化と呼ばれていました)? という機能があります。
# 私はずっと自動パラメーター化と言っていたのですが、この投稿を書くために調べたら簡易パラメーター化と呼ぶということを知りました…。
[強制パラメーター化] は単純でないクエリに対しても自動でパラメーター化をして実行する機能になります。
# 強制パラメーター化を有効にしてもパラメーター化の条件に当てはまらないと通常のクエリとして実行されますが。
このパラメーター化クエリについて少しまとめてみたいと思います。
今回の投稿ではパラメーター化は、簡易パラメーター化で検証をしています。
# 強制パラメーター化でも基本的な動作は同じになるはずですので。
Read the rest of this entry »
タイトルは Hyper-V 上のとしていますが、物理環境で Windows Server 2008 R2 を実行している場合も同じになります。
リモートデスクトップにはオーディオリダイレクトの機能があります。
オーディオリダイレクトをすることで以下のように、接続先で再生したマルチメディアファイルの内容をリモートデスクトップの接続元のスピーカーで再生することができます。
リモート オーディオ再生が有効な場合、リモートデスクトップで対象の端末に接続した場合、タスクトレイのスピーカーマークが有効な状態となり、接続をした端末で再生したマルチメディアファイルの内容を接続元で再生することが可能となります。
VDI などでよく使われるシナリオですね。
間にいくつか投稿をはさんでしまいましたが仮想ログファイルの管理オーバーヘッドについてみていきたいと思います。
トランザクション ログのファイルサイズは同一にして、仮想ログファイル数を変更し、トランザクション ログのバックアップの時間の変化を確認してみます。
前回投稿した、SQL Server Sysprep の [イメージの完了] ですが、setup.exe で起動することで実行しているため、コマンドから開始することが可能です。
コマンドで実行できるのであれば Sysprep に簡単に組み込むことが可能ですので今回は VM Role のイメージに SQL Server Sysprep を組み込んで、VM Role 上で SQL Server 2008 R2 Express Edition を起動してみたいと思います。
SSRS につていては設定の詰めが甘いので、セキュリティ設定ができていないですが起動後に HTTP でアクセスはできる状態では起動します。
作業の流れとしては以下のようになります。
# VM Role のイメージは Sysprep を実行する直前までは完了している状態です。
Sysprep 中にコマンドを実行するための方法は以下の技術情報が参考になります。
Sysprep 中に任意のコマンドを実行する方法について
本手順ですが、データベースのデータの永続化に関しては考慮をしていません。
そのため、SQL Server 内のデータに関しては非永続化された揮発性のデータとなります。
一週間ほど VM Role を使っていて感じたのは、このロールはアプリケーションの実行環境としての利用用途として考えた方が良いのではないかということです。
VPS のようなイメージで考えていると要件にマッチしないと思います。
永続化するようなデータは Web / Worker Role と同様に Windows Azure Storage を使う必要があると思いますので、Windows Azure の作法に乗っ取ったアプリケーションを実行するための環境を VM Role で作ることができるという感じかと。
# カスタマイズした VHD を使用することができるので汎用性が高いのかなと。
Windows Azure ではインスタンス数という考えがありデプロイ時に数を指定することができるようになっています。
VWD の設定では、初期インスタンス数は [1] となっています。
VM Role にかかわらず、Web Role / Worker Role でもインスタンス数は設定することができ、Windows Azure の SLA の適用対象とするためには、インスタンス数を [2 以上] として設定する必要があります。
インスタンス数 = 仮想マシン数
となり、
スケールアップする際には、 [VM サイズ]
スケールアウトする際には、[インスタンス数]
を増やすことで対応していきます。
Azure に関しては今まで Microsoft さんのハンズオン研修でしか触ったことがなく、インスタンス数は最小の 1 でしか実行したことがありませんでした。
VM Role であれば私のような IT Pro でも可視化されてわかり易く見えるかなと思って検証してみました。
# 今は SQL Azure 以外、リモートデスクトップで入れるのでどのロール使ってもわかり易そうですけどね。
前からまとめようと思っていた SQL Server の仮想ログファイル (VLF : Virtual Log File) について少し書いてみたいと思います。
SQL Server の Books Online の [トランザクション ログの物理アーキテクチャ] には以下の記載があります。
SQL Server データベース エンジンにより、各物理ログ ファイルは内部的に多くの仮想ログ ファイルに分割されています。
仮想ログ ファイルのサイズは固定されておらず、1 つの物理ログ ファイルに対する仮想ログ ファイルの数も決まっていません。
仮想ログ ファイルのサイズは、ログ ファイルの作成時や拡張時にデータベース エンジンにより動的に選択されます。データベース エンジンでは、管理する仮想ファイルの数を少なく保とうとします。
ログ ファイルを拡張した後の仮想ファイルのサイズは、既存のログのサイズと増加した新しいファイルのサイズの合計になります。
管理者が仮想ログ ファイルのサイズや数を構成または設定することはできません。
この内容についてみていきたいと思います。
MCM の Readiness Videos では、[LogFiles] が本内容に該当します。
Windows Azure Connect を使用することでオンプレミス環境との連携をすることが可能になります。
VM Role (他のロールも該当するようですが) のサービスモデルにいくつか設定をすることで VM Role のインスタンスを Active Directory ドメインに参加させることが可能となりますのでその手順をまとめていきたいと思います。
以下の情報がとても参考になります。
Overview of Windows Azure Connect When Roles Are Joined to a Domain
Troubleshooting Windows Azure Connect
Domain Joining Windows Azure roles
Windows Azure Connect – Domain Join Issue