PFS / GAM / DCM / は何ページごとに存在する?? に続いて疑問に思ったので調べてみましたシリーズです。
SQL Server 2008 以降ではリソースガバナーという機能が追加されています。
リソースガバナーを使用することで、CPU やメモリの利用状況を制御することができるのですが、メモリはどの領域の制御なのかが気になったので調べてみました。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
PFS / GAM / DCM / は何ページごとに存在する?? に続いて疑問に思ったので調べてみましたシリーズです。
SQL Server 2008 以降ではリソースガバナーという機能が追加されています。
リソースガバナーを使用することで、CPU やメモリの利用状況を制御することができるのですが、メモリはどの領域の制御なのかが気になったので調べてみました。
SQL Server には Allocation Page として、PFS / GAM / SGAM / IAM / DCM / BCM というような管理ページがあります。
SQL Server のページ情報のヘッダには、[m_prevPage] [m_nextPage] という前ページ、次ページの情報が格納されています。
Allocation Page がフルになった時に、このヘッダ情報がどのようになるのだろうということが気になり調べてみました。
SQL Server 2005 以降を使用していて、完全バックアップ + 差分バックアップの運用をしている場合に使用できる方法になります。
Read the rest of this entry »
1 月に開催された Get The Fact セミナーで optimize for ad hoc workloads オプション についてのお話があったようですので今回はこの内容についてまとめてみたいと思います。
前回作成した、VM Role 上の SQL Server に SQL Server Management Studio (SSMS) で接続するための方法をまとめてみたいと思います。
VM Role で SQL Server を実行するための方法を少しまとめてみたいと思います。
MSDN フォーラムでもこの辺は話題になるみたいですね。
VMロール上でSQL Server
SQL Server installation using Azure VM role
実行することはできますが非サポートになるようですのでご利用は計画的に。
今回は Microsoft SQL Server2008 R2 RTM – Express with Advanced Services を使用しています。
先週 [Microsoft Books Online for SQL Server Code-Named "Denali" CTP1] がダウンロードできるようになりました。
このインストール方法がちょっと独特でしたので軽くまとめてみました。
今回、提供されたファイルで初めてオフラインで使用できるようになったのかと思ったのですが、これ以前からオフラインで利用できたんですね…。
その方法も合わせてまとめてみたいと思います。
SQL Server には単純なクエリが実行された際に、内部的に自動でパラメーター化して実行される [簡易パラメーター化] (SQL Server 2000 では自動パラメーター化と呼ばれていました)? という機能があります。
# 私はずっと自動パラメーター化と言っていたのですが、この投稿を書くために調べたら簡易パラメーター化と呼ぶということを知りました…。
[強制パラメーター化] は単純でないクエリに対しても自動でパラメーター化をして実行する機能になります。
# 強制パラメーター化を有効にしてもパラメーター化の条件に当てはまらないと通常のクエリとして実行されますが。
このパラメーター化クエリについて少しまとめてみたいと思います。
今回の投稿ではパラメーター化は、簡易パラメーター化で検証をしています。
# 強制パラメーター化でも基本的な動作は同じになるはずですので。
Read the rest of this entry »
間にいくつか投稿をはさんでしまいましたが仮想ログファイルの管理オーバーヘッドについてみていきたいと思います。
トランザクション ログのファイルサイズは同一にして、仮想ログファイル数を変更し、トランザクション ログのバックアップの時間の変化を確認してみます。
前回投稿した、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 を使用することができるので汎用性が高いのかなと。