Windows Azure

Windows Azure Connectを使用して、Web RoleやWorker RoleからオンプレミスのSQL serverへ到達するのに苦労したと聞いた。いくつかのTipsを紹介しよう。

  1. Remote Desktop経由でロールにアクセスできるように設定し、ロールにリモート接続する。
  2. Web ロールからSQL ServerにPingが飛ばせるか、その逆も可能か確認する。
    →もしダメならFireWallの設定を確認する
  3. ポート1433でSQL Serverに接続できるか確認する
    Webロールから telnet <SQL-SERVER-NAME> 1433
    もしダメなら、SQL ServerのFireWallのルールでTCP1433の受信が許可されているか確認し、SQL Serverの設定でリモート接続が有効になっているかを確認する。
    SQL ServerのIP接続が有効になっているかなど。
    この辺りは、オンプレミスのWebサーバからSQL Serverへ接続するときにしなければならない作業と同じ話なので、検索すれば詳細に説明してくれるページが多いので確認するといい。
  4. SQL接続文字列のタイムアウトの時間を長くする。
    connectionString = "Data Source=(local);Database=AdventureWorks; Integrated Security=SSPI;Connection Timeout=60”

オンプレミスのSQL ServerからAzureのデータセンターまでは長い距離を通信することになるので、単純に物理的なネットワーク遅延がパフォーマンスにインパクトを与えることを理解しておく必要がある。

ネタ元

Troubleshooting Windows Azure Connect to On-Premises SQL Serverをざっくりと意訳した投稿です。

SQL Azure

SQL ServerやSQL Azureへの接続テストをぱっぱと手軽にする方法を知ったので、メモしておきます。

SQL Azure

わんくま同盟勉強会 東京57で、時間をいただきセッションをしてきました。Windows Azure BootCampで公開されているマテリアルの内、SQL Azureセクションを日本語化し実施しました。

一部スライドをセッション対象から外し、一部説明スライドを追加していますので、Windows Azure Bootcampをベースにしたオリジナル版となります。

30人の参加者がおり、SQL Azure Data Syncについての改善点などの意見が出ましたので、製品チームにフィードバックしたいと思います。

SQL Azure Data Syncを単なる同期だけのものとするのでは無く、コードからも同期機能にアクセスできるようにインターフェイスなどを公開し、VS2010から簡単に扱えるようにすれば活用領域が広がるのでは無いか。

SQL Azure Team Blog

SQL Azure Team Blogに投稿された「Simplified Import and Export of Data」をざっくりと意訳した投稿です。

本日提供を始めたMicrosoft SQL Server "Denali" Data-tier Application (DAC) Framework v2.0 Feature Pack CTPを使うことで、オンプレミスのSQL ServerとSQL Azureとのデータインポートとエクスポートをとても簡単にできます。 DACフレームワークと呼ばれます。 DACについて詳しく知るには、このホワイトペーパーを参照してください。

もし試したい場合は、SQL Azure Labsページにアクセスするか、読み進めてもう少しDACについて知って下さい。

今回のDACフレームワーク更新には、3つのポイントがあります。

  1. 新しいインポート&エクスポート機能 : このDAC CTPで、インポートとエクスポート機能が導入されました。 データベーススキーマとデータを拡張子".bacpac"ファイル1つに出力されます。簡単なコマンドで、SQL ServerとSQL Azureデータベース間のデータインポート、エクスポートをとてもシンプルにできます。
  2. 無料: この機能は、SQL Serverの次期バージョン"Denali"(誰でもダウンロードすることができる無料版のSKUを含む)全てのバージョンで提供されます。
  3. 未来 = SQL Server と SQL Azureを使用するハイブリッドアプリケーション: ハイブリッドアプリケーションを作成するためにSQL ServerとSQL Azure間を行き来させるデータ機能です。SQL Server "Denali"で提供されるツールは、一般的な管理タスクのひとつ、データ移行の為にDACフレームワークを使用する予定です。 データ層アプリケーション(DAC)フレームワークは、SQL ServerとSQL Azureでデータベースを管理するための重要なデータベーススキーマ一覧と 管理ライブラリです。このCTP版では、新しいインポートとエクスポート機能は、スキーマとデータを含むデータベースのリカバリとリストアをひとつの操作でできるようにします。

SQL ServerとSQL Azure間でデータベースを保存したり移動させたい場合は、一つのファイルでデータとスキーマを含む一つのエクスポートファイルで対象データベースへエクスポートできます。また、ログイン、ユーザ、テーブル、列、制約、インデックス、ビュー、ストアドプロシージャ、関数、トリガーも含みます。一度データベースを出力したら、インポート操作でファイルをインポートできます。

今回のリリースのインポートとエクスポート機能は、SQL AzureデータベースとSQL Serverの保存、移行をフルサポートするプレビュー版です。今後、Windows SQL AzurePlatform管理ポータルへ追加します。SQL ServerとSQL Azureの次期リリースされるツールと管理機能は、オンプレミスとクラウド双方でできるようになります。

どのように使えば良いですか?

ユーザが接続できるオンプレミスのSQL Server 2008 R2インスタンス上で動作するデータベースが存在すると仮定します。次のコマンドを使用することで、一つの ".bacpac"ファイルにエクスポートできます。

DacImportExportCli.exe -s serverName -d databaseName -f C:\filePath\exportFileName.bacpac -x -e

エクスポートしてしまえば、新しく作成された拡張子".bacpac"ファイルをSQL Azureデータベースにインポーチできます。

DacImportExportCli.exe -s serverName.database.windows.net -d databaseName -f C:\filePath\fileName.bacpac -i -u userName -p password

SQL ServerもしくはSQL Azureで動作するDACデータベースは、登録を解除するか削除できます。

DacImportExportCli.exe -s serverName.database.windows.net -drop databaseName -u userName -p password

簡単にSQL Azureデータベースをローカルのエクスポートファイルにエクスポートでき、SQL Serverにインポートできます。

インポートとエクスポートをどのように使うべきですか?

エクスポートは、SQL Azureデータベースのバックアップメカニズムとして推奨されないことを重要な情報として補足します。(推奨するバックアップ機能を提供すべく動いており、近日更新されお披露目します) エクスポートファイルには、トランザクションログや過去のデータは含まれていません。エクスポートファイルには、単純にSELECT * した結果を格納し、データ整合性を考慮しないトランザクション制御されていないものです。

しかしながら、SQL Azureのコピーを作成するために、シングルユーザモードまたは、読み取り戦用モードもしくは、データベースのスナップショットからのエクスポートで、DACエクスポートをすることで、エクスポートファイルにトランザク制御したエクスポートファイルを作成できます。このドキュメントで素早くSQL AzureデータベースのCopyを作成する為の詳細な情報を記載しています。

クラウドストレージに保存されているエクスポートファイルで、SQL Azureのエクスポートとリストアを簡単にするために機能強化されました。

思ったことを私たちに教えてください

あなたからのフィードバックと、この新しい機能を使用してみた感触を教えてもらえることを本当に楽しみにしています。SQL Azureフォーラムもしくは、ここから私たちに連絡することができます。

インストールと試用するには、SQL Azure Labs ぺージにアクセスし、FAQに目を通してください。

LightSwitch

Visual Studio LightSwitch Team Blogに投稿されている「Step-by-Step: How to Publish to Windows Azure (Andy Kung)」を抜粋、意訳した投稿です。

LightSwitchアプリケーションをデプロイする

フォーム認証するFormがあるLightSwitchプロジェクトを作成しました。 “HelloWorld.” を呼ぶとてもシンプルなLightSwitchアプリケーションです。 一つのテーブルと一つの画面があります。クラウドへ配置する準備ができました。

ソリューションエクスプローラーのプロジェクトノード上で右クリックし、Publishを選択します。

clip_image020[4]