デベロッパー

デベロッパー

クラウドアプリケーション開発用の無償 Microsoft Azure SQL ツール

Tapas Pal
2010年8月20日 / 10:00
 
 

はじめに

Microsoft Azureで提供されるリレーショナルデータベース(RDBMS)は「SQL Azure」と呼ばれる。SQL Azure データベースはローカルにある SQL Server や、Microsoft Visual Studio 2008や2010で提供されているツールと簡単に統合することができる。Azureの開発者は、T-SQL スクリプトを使うことで内部運用型のどの SQL データベースとも同じようにデータのクエリを行うことができる。これは可用性が高く、スケーラブルなサービスで、SQL.Azure.com サイトに登録すれば入手可能だ。Microsoft Azure は、開発者向けにホスティング型の SQL Azure 開発ツールも Management Studio も提供しないので、ローカルデータベースを開発して、本番環境への導入時にそれを移行する必要がある。

主な内部運用型 SQL Azure 開発ツール

Microsoft や、そのほかのサードパーティーベンダー各社は、SQL Azure Database とローカルの内部運用型データベースを統合する無償の SQL Azure 開発ツールをあまり開発していない。これらのツールのなかでは、「Microsoft Sync Framework」、「SQL Azure Migration」ウィザード、および「Gem Query」ツールの人気が最も高く、Azure 開発コミュニティで普及している。本稿では、これらの内部運用型の無償 SQL Azure 開発ツールと、日常のワークフローでのこれらのツールの使い方について解説する。

Microsoft Sync Framework

このフレームワークはクラウド経由であらゆる種類のデータと同期することが可能で、Microsoft のクラウド開発コミュニティーで最も人気が高い。Sync Framework SQL Server Azure ツールは Microsoft SQL Azure 内部運用型クラウドデータベースとの同期が可能になっている。このツールは、同期用にローカル SQL Sever データベースと SQL Azure データベースのプロビジョニングとコンフィギュレーションを行うウィザードを用意している。

このツールを使うには、まずMicrosoft サイトから無償ダウンロード可能な Sync Framework 2.0をインストールする必要がある。 SDK はこちらをクリック。次に、Microsoft Cloud Platform データベースにアクセスするには前述のように SQL Azure の登録が必要だ。それには、こちらから Windows Live IDに登録されたい。

さらに、SQL Server 2008 R2をローカルマシンにインストールする必要がある。SQL Server 2008 R2はこちらから入手。これらのインストレーションがすべて終了したら「Start」ボタンをクリックし、それから「All Programs」、 「Microsoft Sync Framework」、そして「SQL Azure Data Sync Tool for SQL Server」をクリックする。ウィザードが表示され、これが Microsoft Cloud SQL Azure データベースでのローカル SQL Server インスタンスのコンフィギュレーションを手伝ってくれる。


図1 ウィザードの初期画面

ウィザードの「Next」ボタンをクリックすると、データベース認証情報の入力を求められる。以下のスクリーンショットを参考にしてデータベース認証情報を入力する。Azure のデベロッパーは SQL Azure のファイアウォールコンフィギュレーション/設定がデータベースのコネクティビティに影響を与える可能性があることを覚えておく必要がある。


図2 SQL Azure データベース認証情報  

ここで再びウィザードの「Next」ボタンをクリックしてローカルデータベース認証情報を入力する。


図3 ローカル SQL サーバ、ローカルデータベース、およびサーバ名  



「Next」ボタンをクリックすると、テーブルの一覧が表示される。ここで特定の、もしくはすべてのテーブルを選択し、SQL Azure データベースに登録して、ローカルの開発データベースと同期させる必要がある。  




図4 テーブルのリストとコンフリクト解決ポリシーの設定  

コンフリクト解決ポリシーでは、ドロップダウンリストからオプションを1つ選択する必要があり、これで前回の同期からローカルと SQL Azure の両データベースがアップデートされていた場合に伝達するデータのバージョンを決める。  

「Process」ボタンをクリックすると選択されたテーブル全体のスキーマが SQL Azure 内で作成されるが、同期ジョブがこれらのテーブルをローカルデータベースからアップデートするまでテーブルにはデータが入らない。  

「Next」をクリックすると、ウィザードがテーブルの同期順を聞いてくる。「Move Up」および「Move Down」ボタンを使ってデータ挿入処理順を決める。「Next」をクリックすると「Summary」画面が表示される。  

前のステップで定義した同期には、ローカルデータベースでもユニークな、適切な名前を与える必要がある。ラジオボタンを使って選択した SQL Azure データベースのタイプが1G バイトか10G バイトかを指定する。


図5 同期ジョブ名を入力するサマリ画面  

ローカル SQL Server でジョブが作成されたかどうか検証するには、SQL Server Management Studio を開いて「SQL Server Agent」をクリックする。JOBS フォルダの下に Sync JOB が表示される。JOB はいつでも実行してローカルと SQL Azure のデータベースを同期することができる。  

SQL Azure Migration ウィザード

SQL Azure Database Administrators 用に、Microsoft は SQL Azure Migration ウィザード(略してSQLAzureMW)というもう1つのツールを投入した。内部運用型データベースオブジェクトをすべて SQL Server 2005もしくは2008に移行するにはこのツールを使用する。Microsoft SQL Server 2005データベースオブジェクトはストアドプロシージャと相性が良く、T-SQL と SQL Server 2008間には互換性の問題が多い。SQLAzureMWはこれらすべての問題に対応し、可能なところは修正を行い、この問題をすべて Azure Developer に通知する。SQLAzureMW をローカルのハードウェアから実行するには、SQL Server 2008 R2と、SP1を適用した.NET Framework 3.3をインストールする必要がある。  

このツールのインストーラパッケージ(Zip ファイル)とソースコードは Codeplex から入手可能。
http://sqlazuremw.codeplex.com/releases/view/32334  



このツールには以下の3つのコンポーネント/ファイルがある。  

  1. NotSupportedByAzureFile.Config」はSQLAzureMW用のコンフィギュレーションファイルとなっている。このコンフィギュレーションファイルは5つの主要部分と、「DefaultMessage」、「Table」、「View」、「Index」、「GeneralTSQL」などのそのほかの部分から構成されている。「SQLAzureMW」ツールが SQL 2000/2005データベースを SQL Azure データベースに移行する場合、これらのコンフィギュレーションが読み込まれて、適切な処理が行われる。
  2. SQLAzureMW.exe」は「SQLAzureMW」アプリケーションで、これを実行すると以下のようなオプションを聞かれる。


図6 SQLAzureMWツール選択処理画面  

  • A. 「Analysis only」(分析のみ) - SQL サーバのローカルデータベースインスタンスもしくは TSQL (データ定義/操作言語 SQL コード)テキストファイルを指定することができる。3つ目のオプションである「SQL Profiler Trace File」は、開発者がダイナミック SQL 命令文があるようなシナリオで互換性の問題をテストできるようにする柔軟性を実現する。
  • B. 「Analysis and Migrate」(分析と移動) - ローカルにある SQL サーバ2000/2005のデータベースを分析し、SQL Azure に移行することができる。このカテゴリーでは、ローカル SQL データベースもしくは TSQL ファイルを指定することもできる。Azure 開発者の大半はこのオプションを使うので、本稿ではこのオプションを詳しく解説する。
  • C. 「Migrate without Analysis」(分析せず移動) - これは SQL Azure データベースを異なる名前の SQL Azure データベースに移動するオプション。現時点では、この機能には一部使えない部分がある。
  • D. 「Run TSQL without Analyzing」(分析せず TSQL 実行) - 最後は、SQL Server Management Studio から作成した DDL と DML 命令文を含む TSQL ファイルを適切な分析を行わずに実行するオプション。
「Next」をクリックすると、認証情報入力ウィンドウが表示されて、SQL サーバ名などの各種詳細の入力を求められる。「Windows Credentials」の選択か、SQL サーバ認証情報の提供のいずれかが可能。


図7 SQLAzureMW Tool SQL Server 接続画面  

ローカルの SQL Server と接続すると特定のサーバのデータベースリスト全体が表示されるので、適切なデータベースを選択して「Next」をクリックする。次のウィンドウでは、自分のデータベースにあるスクリプト可能なオブジェクトがすべてリストされ、特定のデータベースオブジェクトタイプを選択するか、リストから手動でオブジェクトを選択する。「Advance」ボタンをクリックするとプロパティウィンドウが開き、そこですべてのスクリプトオプション設定が修正可能となる。  

データベースオブジェクトの選択が完了したら、「Next」をクリックしてデータベースオブジェクトおよび設定のサマリ画面に進む。情報の入力を求められるので、「Yes」ボタンを押して先へ進む。すると、「SQLAzureMW」が選択されたオブジェクトのスクリプトを生成する。サマリ画面にはタブが2つあり、生成された TSQL は「SQL Script」タブ、そして「--~」から始まるコメント付きメッセージは「Result Summary」タブに表示される。  



図8 結果サマリ画面  

TSQL スクリプトを生成したら、次は SQL Azure データベースでこのスクリプトを実行する。「Next」をクリックして「SQL Azure Connection」画面を表示する。ここでは、SQL Azure 接続情報(取得した SQL Azure ライセンス)を入力する必要がある。  



図9 SQL Azure 接続  

SQL Azure 接続情報を入力したら、「Test Connection」 ボタンをクリックして接続情報が正しいことを検証し、SQL Azure にあるすべてのデータベースをリストする。前のステップで TSQL を生成した既存のデータベースを選択し、「Next」ボタンをクリックしてスクリプトを実行する。スクリプトの実行が成功すると「SQLAzureMW」ツールが結果を生成し、移動中にエラーが発生すれば SQL Azure Response ウィンドウに赤いエラーメッセージも表示される。出力に赤いメッセージがなければ移動が成功したことになる。  

SQLAzureMW.exe.config」は「SQLAzureMW.exe」用のコンフィギュレーションファイルで6つの重要なタグがあり、最も重要なのはローカルおよび SQL Azure Server コンフィギュレーションと信用証明の設定だ。「NotSupportedByAzureFile.Config」ファイルのパスを指定することもできる。

Gem Query for SQL Azure Developers

サードパーティーベンダーの Microguru が別の無償 SQL Azure 開発ツール、Gem Query を開発している。このツールはhttp://www.microguru.com/gem/ から無償ダウンロード可能となっている。ただし、このツールを使うには Microsoft の .NET Framework 3.5 SP1をインストールする必要がある。このツールは DDL と DML SQL の両クエリをサポートし、SQL Azure データベース上で実行することができる。このツールを使えば自分の SQL Azure データベースに直接接続することができ、開発者は同期用にローカルデータベースを維持する必要がない。

まとめ

SQL Azure は2008年10月に Microsoft Community Technology Preview (CTP)で投入され、まだ開発の初期段階にある。SQL Azure の開発に関する詳細は、http://www.microsoft.com/windowsazure/sqlazure/を参照されたい。  

関連記事

【関連記事】
電通国際情報サービス、アプリケーションのクラウド ホスティングに Verizon Business の CaaS を選択
スマートスタイル、MySQL、Oracle、PostgreSQL、SQLite 対応 DB 管理ツール「Navicat」を同時販売
米 Microsoft の Azure クラウド、Dell、eBay、富士通、HP が早期採用
日本ベリサイン、クラウド WAF サービス「Scutum」の販売を開始
salesforce.com、Salesforce Chatter を正式リリース

New Topics

Special Ad

ウマいもの情報てんこ盛り「えん食べ」
ウマいもの情報てんこ盛り「えん食べ」 「えん食べ」は、エンジョイして食べる、エンターテイメントとして食べものを楽しむための、ニュース、コラム、レシピ、動画などを提供します。 てんこ盛りをエンジョイするのは こちらから

Hot Topics

IT Job

Interviews / Specials

Popular

Access Ranking

Partner Sites