作者: Abi Iyer、Dinakar Nethi

概要

SQL Azure データベースは、マイクロソフトが提供するクラウドベースのリレーショナル データベース サービスです。SQL Azure は、リレーショナル データベース機能をユーティリティ サービスとして提供します。SQL Azure のようなクラウドベースのデータベース ソリューションには、迅速なプロビジョニング、コスト効果の高いスケーラビリティ、高可用性の確保、管理オーバーヘッドの削減など、多くの利点があります。ここでは、お客様から最もよく寄せられる質問に対する回答を記載しています。

目次:


ご購入前

Q: マイクロソフトでは、SQL Azure と SQL Server をどのように区別していますか?

SQL Server と SQL Azure が対処するアプリケーションのワークロードには時として重なる部分もありますが、一方がソフトウェア ライセンス モデルを採用する従来のデータベース サーバーであるのに対し、もう一方はマイクロソフトの世界的なデータセンターで稼働するサービスとしてのクラウド データベースであり、従量課金制モデルまたは契約料金プラン モデルで提供されます。どちらのサービスにも、テクノロジのニーズに合わせた最適なプラットフォームやビジネス モデルを選択できる柔軟性があります。

SQL Server はエンタープライズクラスのデータベース サーバーであり、“スケールアップ” 型のリレーショナル データ ストレージを提供し、オンプレミス アプリケーションの幅広い種類やシナリオに対応します。SQL Server はサービス提供ではなく、従量課金制の消費モデルには基づいていません。SQL Server はサーバーごとまたはプロセッサごとにライセンス供与され、広範なサーバー ハードウェア クラスをカバーします。SQL Server は自社のデータセンターまたはホスティング プロバイダーのデータセンター内のハードウェアで実行します。

SQL Azure は、マイクロソフトがクラウドでホストする高可用性の分散 “スケールアウト” データベース サービスです。SQL Azure はリレーショナル データベース機能の簡単なプロビジョニングおよび配置をサービスとして実現します。開発者や管理者によるソフトウェアのインストール、セットアップ、修正、および管理は不要です。高可用性、バックアップと復旧、地理的な分散、および障害復旧の機能は組み込まれています。

スケールアップとスケールアウトの違いのほかにも、運用モデルの重要な違いがあります。SQL Azure ではハードウェアやオペレーティング システムの管理から分離されるため、ソリューションの構築に専念できます。ハードウェア、仮想マシン、オペレーティング システム、およびアプリケーション プラットフォーム ソフトウェアの調達、管理、修正、およびライセンス管理については、気を配る必要がありません。専用のデータベース サーバーを使用する場合 (従来型のサーバーとしてオンプレミスでインストールされているか、仮想マシンでホストされているか、サード パーティ サービス プロバイダーによってホストされているかに関係なく)、OS およびデータベース ソフトウェアのインストール、セットアップ、更新、修正は開発者と IT 担当者が行う必要があります。また、データベース サーバーのユーザーは自身の高可用性、スケールアウト、障害復旧のソリューションを検討する必要があるため、管理コスト全体が増大します。  

SQL Azure は、従来のスケールアップ アーキテクチャよりも低いコストで高い拡張性と可用性を必要とするアプリケーション向けに設計および最適化されています。この目的のため、SQL Azure は汎用的なハードウェア上の可用性の高いスケールアウト ソリューションと、サービスとしてのデータベース機能を提供します。

Q: 拡張性に関する SQL Azure のアプローチはどのようなものですか? SQL Azure に格納できるデータのサイズに制限はありますか?

SQL Azure は、従来のスケールアップ アーキテクチャより低いコストで高い拡張性と可用性を必要とするアプリケーション向けに最適化されています。この目的のため、SQL Azure は汎用的なハードウェア上の高い可用性とスケーラビリティを備えたソリューションを提供します。このプラットフォームのメリットを最大限に活かす自然な方向性として、ソリューションは従来の単一サーバーによるスケールアップ モデルから、より細かいパーティションを使用したスケールアウト モデルへと向いつつあります。

SQL Azure はテラバイト単位までのデータセット サイズをサポートします。個々の SQL Azure データベースのサイズは最大 50 GB です。50 GB を超えるデータセットは業界標準の手法により複数の Azure データベースに分割できます。たとえば、SaaS ISV は各顧客に専用のデータベースを簡単に提供し、小売業者は売上データを地域ごとのデータベースに分割することができます。

他の重要な点として、データベースごとの 50 GB の制限には、高可用性のために自動的に維持されるデータの追加コピー、トランザクション ログ、またはシステム レベルのテーブルは含まれていません。

Q: “Web Edition は 1 か月あたり最大 5 GB DB” や “Business Edition は 1 か月あたり最大 50 GB DB” というのはどういう意味ですか?

SQL Azure では 1 つ以上のアプリケーション用に複数のデータベースを提供できます。これには Web Edition または Business Edition のデータベースを使用できます。1 つの Web Edition データベースは最大 5 GB のデータをサポートします。課金単位は 1 GB または 5 GB です。1 つの Business Edition データベースでは最大 50 GB のデータがサポートされます。Business Edition では 10 GB の課金単位 (10 GB、20 GB、30 GB、40 GB、50 GB) が使用されます。

料金は、1 日の中で最大になったデータベース サイズに基づいて、課金単位で課金されます。

例:

MAXSIZE=5 GB の Web Edition データベースがあるとします。データベース サイズが 800 MB の場合、データベースの 1 日あたりの料金は Web Edition の 1 GB の料金になります。翌日、データベース サイズが 3 GB に増大した場合、その場合の 1 日あたりの料金は Web Edition の次の課金単位の 5 GB に基づく料金になります。翌日、データをいくらか削除してサイズが 900 MB に縮小した場合、1 日あたりの料金は再び 1 GB に基づく料金になります。

Business Edition データベースも同じように考えることができます。MAXSIZE=50 GB の Business Edition データベースがあるとします。データベース サイズの合計が 8 GB の場合、データベースの 1 日あたりの料金は 10 GB の料金になります。翌日、データベース サイズが 25 GB に増大した場合、1 日あたりの料金は Business Edition の次の課金単位である 30 GB に基づく料金になり、以降も同様です。

1 日あたりの料金は、該当する課金単位の月額料金をその月の日数で割った金額になります。

Q: SQL Azure は、SQL Server 2008/SPLA を使用している地域のホスティング プロバイダーを利用する場合とどのように違うのですか? 

専用のホスティング型データベースを使用する場合も、OS およびデータベース ソフトウェアのインストール、セットアップ、更新、修正は、開発者と IT 担当者が行う必要があります。また、ホスティング型データベース ソリューションのユーザーは自身の HA、スケールアウト、および障害復旧のソリューションを検討する必要があるため、管理コスト全体が増大します。

SQL Azure はマイクロソフトがクラウドでホストする、高い可用性とスケーラビリティを備えた分散データベース サービスです。SQL Azure は、リレーショナル データベースの簡単なプロビジョニングおよび配置をサービスとして実現します。開発者によるソフトウェアのインストール、セットアップ、修正、および管理は不要です。高可用性、バックアップと復旧、地理的な分散、および障害復旧の機能は組み込まれています。

Q: SQL Azure の価格は SQL Server の価格と比較してどのようになっていますか?

これら 2 つは異なる製品 (一方はデータベース サーバー、もう一方はクラウド サービス) であるため、価格を基に単純比較することはできません。SQL Server は、ソフトウェア ライセンスを通じて購入します。一方、SQL Azure はその価格にサーバー ハードウェア、ソフトウェア、ネットワーク帯域幅、ストレージ、および SQL Azure を実行するハードウェアの管理にかかわるコストが価格に反映されるクラウド サービスです。いずれも、お客様のニーズに合った最適なプラットフォームおよびビジネス モデルを選択するための柔軟性を提供するように設計されています。

Q: SQL Azure プラットフォームにアプリケーションを構築する場合、そのアプリケーションをオンプレミス型サーバーまたはホスティング型サーバーに移動できますか?

SQL Azure を利用している多くのアプリケーションは、オンプレミス型またはホスティング型の SQL Server に簡単に移植できます。SQL Server で実行するために再設計を必要とするアプリケーションがある一方で、SQL Azure は TDS を介して同じ T-SQL ベースのリレーショナル モデルを SQL Server としてサポートするため、既存のカスタム アプリケーションや LOB パッケージ アプリケーションをソリューションに移行するには、最小限の変更を行うだけで済みます。

Q: 既に持っている SQL Server ライセンスを SQL Azure に使用することはできますか?

いいえ。SQL Server ライセンスの移動は現在許可されていません。

Q: SQL Azure は、事実上 SQL Server の次のリリース (SQL Server 2008 R2 の後継) ですか?

いいえ。SQL Azure はサービスとして提供されるクラウド データベースであり、SQL Server とは区別されます。SQL Azure は、オンデマンド リレーショナル データベースをサービスとしてユーザーに提供するスケールアウト プラットフォーム サービスです。SQL Azure 製品と SQL Server 製品では開発スケジュールは異なりますが、両者のコード パスは並行しており、新しい機能や革新的な技術をアクティブに共有しています。

Q: 新しい Windows Azure Platform が登場したということは、お客様はすべての機能と既存のアプリケーションをクラウドに移すことになりますか?

マイクロソフトは、ソフトウェア プラス サービス (S+S) 戦略の一環として、オンプレミス テクノロジ、クラウド テクノロジ、またはその両方を使用するための柔軟性を提供しています。お客様は、ビジネス ニーズに沿った配置オプションを選択するための柔軟性の獲得に強い関心を寄せています。マイクロソフトは、新しいバージョンの Windows Server、Windows Azure、SQL Server、SQL Azure、およびシステム センターを開発および配布するために、大きな投資を続けていきます。お客様のデータセンター、マイクロソフト ホスティング パートナーのデータセンター、パブリック クラウド環境のどこでアプリケーションが実行されていても、クラウド コンピューティング テクノロジのメリットをお客様に提供します。

Q: SQL Azure Data Sync サービスにはどのような価値がありますか?

SQL Azure Data Sync は、SQL Azure データベースと SQL Server データベースとの間で、双方向のデータ同期を使用したデータ移動管理の機能を提供します。SQL Azure Data Sync の機能を使用すると、SQL Azure および Microsoft Sync Framework の機能を活用して、クラウド内にビジネス データ ハブを構築し、クラウドの新しいサービスを利用しながら、複数の SQL Azure データ センター、モバイル ユーザー、ビジネス パートナー、リモート オフィス、および企業のデータ ソースのすべてと簡単に情報を共有できます。この組み合わせによってブリッジが提供され、オンプレミス アプリケーションとオフプレミス アプリケーションの連動が実現します。SQL Azure Data Sync の Customer Technical Preview (CTP) は、SQL Azure Community Technical Previews でサインアップして使用できます。

SQL Azure Data Sync を使用すると、次のことが可能になります。

  • 既存の SQL Azure データベースを全世界の 1 つ以上のデータ センターに拡張することで、データ アクセスの地理的な可用性を確保する。
  • オンプレミスの既存 SQL Server データを SQL Azure にリンクすることにより、既存のオンプレミス アプリケーションを無駄にすることなく Windows Azure に新しいアプリケーションを作成する。
  • Outlook のキャッシュ モードのように、Windows Azure および SQL Azure ベースのアプリケーションをオフラインで使用する。
  • クラウドを介して、オンプレミス データをリモート オフィス、小売り店、およびモバイル ワーカーまで拡張する。

Q:  SQL Azure Data Sync サービスが、サポートされるバージョンはいつリリースされますか?

SQL Azure DataSync サービスは現在、Community Technology Preview (CTP) としてご利用いただけます。このパブリック プレビュー中にお客様のフィードバックに耳を傾け、最高の価値をお届けするには何を行う必要があるかを判断します。このため、リリース日はお客様しだいであり、お客様のフィードバックに対応するための変更の度合いによって決定されます。

Q: DataSync サービスでは使用料が発生しますか?

Data Sync サービスは現在無料でご利用いただけますが、SQL Azure データベースとの間でデータを移動するためのデータ転送料がかかります。料金の詳細については、http://www.microsoft.com/japan/windowsazure/pricing/ を参照してください。

トップに戻る

接続

Q: SQL Azure に接続するにはどうすればよいですか?

SQL Server 2008 R2 でリリースされた SQL Server Management Studio (SSMS) は、��続という点では SQL Azure を完全にサポートしています。以前のバージョンの SSMS を使用している場合は、Management Studio を初めて開いたときに表示される接続ウィンドウに、サーバー名とユーザー資格情報を入力すると、次のエラー メッセージが表示されます。

  

このエラーを回避するには、次の手順を実行します。

1.[サーバーへの接続] エラーで [OK] をクリックして、接続ウィンドウをキャンセルして閉じます。

  

 

2.[新しいクエリ] アイコンをクリックします。

  

3.表示される [サーバーへの接続] ダイアログで、接続の資格情報を入力します。  

注: ログインは username@servername の形式で指定する必要があります。

  

特定のデータベースに接続する必要がある場合は、[オプション] ボタンをクリックして、[データベースへの接続] ボックスにデータベース名を入力します。

注: USE <Database> はサポートされていません。ログイン後、別のデータベースに接続する必要がある場合は、[接続の変更] を右クリックします。

Q: Windows Azure Platform の現在の状態を確認するにはどうすればよいですか?

サービス ダッシュボード (http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx) で、お使いの地域の SQL Azure データベースを確認できます。各 RSS フィードを購読することもできます。

 

Q: SQL Azure に接続できません。この問題にどのように対処すればよいですか?

接続に関するよくある問題のトラブルシューティング方法については、「SQL Azure の接続に関するトラブルシューティングガイド」を参照してください。

Q: SQL Azure のサンプルの接続文字列はどこにありますか?

サーバーをプロビジョニングすると、SQL Azure ポータルによりアプリケーションで使用できる接続文字列が提供されます。一般的な形式である ADO.NET および ODBC の接続文字列は次のとおりです。

ADO.NET

Server=tcp:<sqlazureservername>.database.windows.net;Database=<databasename>; 
User ID=user@<sqlazureservername>;Password=password;Trusted_Connection=False;

ODBC

Driver={SQL Server Native Client 10.0};Server=tcp:<sqlazureservername>
.database.windows.net;Database=<databasename>;
Uid=user@<sqlazureservername>;Pwd=password;Encrypt=yes;

Q: SQL Azure に格納したデータをバックアップすることはできますか? データの破損や損失から回復するにはどうすればよいですか?

一般に、論理データの損失や破損 (ユーザー アプリケーションによってデータが誤って削除された場合など) から回復するには、バックアップをとっておくことがベスト プラクティスです。SQL Azure では、ハードウェア障害からの復旧のために定期的なバックアップや一貫性チェックが実行されますが、これはサービスの全体的な正常性を確保する内部処理であり、SQL Azure ユーザーには公開されません。ただし、一括コピー ユーティリティ (BCP) や SQL Server Integration Services (SSIS) を使用して、データをオンプレミスの SQL Server データベースにいつでもコピーすることができます。また、データベース コピー機能を使用すると、データベースのコピーを同じサブ領域内に作成し、ユーザー エラーが発生した場合にバックアップとして使用することができます。   

Q: オンプレミスの SQL Server と SQL Azure との間でのデータ移動に関するハンズオン トレーニングまたはデモは用意されていますか?

Windows Azure トレーニング キットでは、データベースの移行を含むサンプル、デモ、およびプレゼンテーションを SQL Azure 上で提供しています。

Q: SQL Azure ファイアウォールを構成するにはどのようにすればいいですか?

SQL Azure ファイアウォールを使用すると、IP アドレスを明示的に許可しない限り、SQL Azure サーバーへのアクセスが阻止されます。SQL Azure サーバーへの接続を試行する前に、アクセスする必要のあるコンピューターの IP アドレスをファイアウォールの設定に追加する必要があります。これは、SQL Azure ポータルの [サーバーの管理] ページの [ファイアウォール設定] タブを使用して実行できます。[このサーバーへの Microsoft のサービスのアクセスを許可する] というチェック ボックスの設定も必要です。このチェック ボックスをオンにすると、Windows Azure でホストされているアプリケーションからの接続が許可されます。

ファイアウォールの構成の詳細については、「方法: SQL Azure ファイアウォールを構成する」を参照してください。 

Q: SQL Azure に Web ロール アクセスを許可するにはどうすればよいですか。

ポータルの [サーバーの管理] ページの [ファイアウォール設定] タブの下にある [このサーバーへの Microsoft のサービスのアクセスを許可する] オプションをオンにします。

 

ファイアウォールの構成の詳細については、「方法: SQL Azure ファイアウォールを構成する」を参照してください。 

Q: ネットワーク上でデータを安全に使用できますか?

SQL Azure ではすべてのクライアント接続で SSL 暗号化が常に強制されますが、クライアント アプリケーションが接続時に証明書の検証を行っていない場合は、接続が中間者攻撃による被害を受けやすくなります。

接続の暗号化の詳細については、「セキュリティのガイドラインと制限事項」を参照してください。

トップに戻る

サポートされている機能/サポートされていない機能

Q: リンク サーバーは SQL Azure でサポートされていますか? オンプレミスの SQL Server と SQL Azure サーバーとの間、または SQL Azure サーバーの 2 つのインスタンス間でリンク サーバーを有効にすることはできますか?

いいえ、リンク サーバーは現在 SQL Azure ではサポートされていません。このため、オンプレミス ソリューションと SQL Azure との間またはクラウド内でリンク サーバーを有効にすることはできません。

Q: SQL Azure でサポートされる既定の分離レベルを教えてください。

Read Committed スナップショット分離です。

Q: 変更の追跡は SQL Azure でサポートされていますか?

変更の追跡は現在 SQL Azure では使用できません。

Q: 空間データ型は SQL Azure でサポートされていますか?

空間データ型のサポートは SU3 (2010 年 6 月) で追加されました。

Q: 一括コピーは SQL Azure でサポートされていますか?

はい、SQL Azure では一括コピー ユーティリティ (BCP) および SqlBulkCopyAPI がサポートされています。TSQL コマンド BULK INSERT はサポートされていません。

Q: IF...Else ループ内に DROP Database を含めると、master データベースに接続していても DROP Database がサポートされていないというエラー メッセージが表示されます。

これは SQL Azure の制限事項です。ログインの DDL (データ定義言語) はバッチ内で唯一のステートメントである必要があり、IF ...ELSE ステートメント内でループすることはできません。「ガイドラインと制限事項」を参照してください。

CREATE/ALTER/DROP LOGIN および CREATE/DROP DATABASE ステートメントを ADO.NET アプリケーション内で実行する場合、パラメーター化コマンドの使用は許可されません。これらの各ステートメントは、SQL バッチ内の唯一のステートメントである必要があります。

Q: SQL エージェントは SQL Azure でサポートされますか?

SQL エージェントは、現在 SQL Azure ではサポートされていません。

Q: SQL Profiler は SQL Azure でサポートされますか?

SQL Profiler は SQL Azure では現在サポートされていません。ただし、特定の動的管理ビュー (DMV) のトラブルシューティングでパフォーマンスの問題を診断できます。DMV のサポートに関する詳細な一覧については、http://msdn.microsoft.com/en-us/library/ee336238.aspx#dmv を参照してください。

Q: Service Broker は SQL Azure でサポートされていますか?

Service Broker は現在 SQL Azure でサポートされていません。

Q: レプリケーションは SQL Azure でサポートされていますか? オンプレミスの SQL から SQL Azure にデータをレプリケートすることはできますか?

レプリケーションは現在 SQL Azure ではサポートされていません。次に示すように、利用できるオプションはあまりありません。

  • SQL Azure Data Sync を使用して、オンプレミスの SQL Server と SQL Azure との間、および 2 つ以上の SQL Azure サーバー間でデータを同期できます。
  • または、SQL Server Integration Services (SSIS)、SQL Server Management Studio (SSMS)、または一括コピー ユーティリティ (BCP) を使用して、オンプレミスの SQL と SQL Azure との間でデータを移動できます。
  • SQL Azure 移行ウィザードにも、オンプレミスの SQL Server と SQL Azure との間、または 2 つの SQL Azure インスタンス間でデータを移動するための機能が用意されています。

Q: Entity Framework は SQL Azure でサポートされていますか? 

はい。Entity Framework は SQL Azure でサポートされています。詳細については、「ADO.NET Entity Framework を使用して SQL Azure に接続する方法」を参照してください。

Q: Reporting Services、Analysis Services、または SSIS はクラウド ソリューションでサポートされていますか?

PDC 2010 で発表された SQL Azure Reporting は、Community Technology Preview (CTP) としてリリースされます。詳細については、「SQL Azure Reporting の概要」を参照してください。CTP に参加するには、SQL Azure Community Technical Preview にサインアップします。

SQL Azure では SQL 2008 R2 (Reporting Services、Analysis Services、および SSIS) もサポートおよび最適化されており、これを使用して、オンプレミスのビジネス インテリジェンス プロジェクトからデータ ソースとして SQL Azure にアクセスできます。

Q: SQL Azure では複数のデータベースにまたがるデータを簡単にパーティション分割するための自動パーティション分割メカニズムはサポートされていますか?

SQL Azure データベースの自動パーティション分割は現時点ではサポートされていません。データのパーティション分割はアプリケーション ロジックで行う必要があります。詳細については、Sharding with SQL Azure を参照してください。
SQL Azure Federation が発表されましたが、まだ利用することはできません。この機能を使用すると、堅牢な接続ルーティング メカニズムによりデータを簡単に再分割および再配布できます。

Q: SQL Server のエラー ログは SQL Azure で使用できますか?

いいえ、SQL Server エラー ログは SQL Azure で現在使用できません。

Q: IPV6 はサポートされていますか?

いいえ、IPV6 は現時点では使用できません。ご要望の増加によっては、IPV6 のサポートを検討する予定です。

Q: Excel から SQL Azure への接続はサポートされていますか?

Office 2010 バージョンの Excel では、SQL Azure をデータ ソースとして使用できます。詳細については、「Microsoft Excel の SQL Azure データベースへの接続」を参照してください。  

Q: JDBC ドライバーは SQL Azure でサポートされていますか?

はい、ただし、SQL Server JDBC ドライバー 3.0 への更新が必要です。詳細については、http://support.microsoft.com/kb/2504052 を参照してください。 

Q: SQL Azure でサポートされるセッション状態プロバイダーはありますか?

セッション状態プロバイダーは SQL Azure ではサポートされていません。詳細については、「Microsoft SQL Azure で使用する ASP.NET スクリプトの更新」をご確認ください。

Q: 同じサーバー上に 2 つのデータベースがあります。同一サーバー上の複数のデータベース間でテーブルを結合することはできますか?

2 つのデータベース間でのテーブルの結合はサポートされていません。SQL Azure サーバーは、データベースの論理的な集合体です。同一サーバー上のデータベースであっても、実際にはその環境内の複数のノードに分散して格納されています。アプリケーション ロジックでファンアウト クエリを記述して、同じ機能を実現できる場合があります。

Q: SQL Azure では監査機能はサポートされていますか?

現在のバージョンの SQL Azure で監査機能は提供されていません。 

Q: SQL Azure では RowGUID 列がサポートされていませんが、推奨される代替手段はありますか?

代替手段として、列の型に uniqueidentifier を使用し、次に NEWID() を使って挿入時に GUIDS を生成することをお勧めします。

CREATE TABLE MyTest ( MyID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY, 
Name VARCHAR(10)) INSERT INTO MyTest (name) VALUES ('string1')
INSERT INTO MyTest VALUES (newid(), 'string2')

 

Q: SQL Azure サーバーで使用されるタイムゾーンを教えてください。

SQL Azure サーバーは、どの場所のデータセンターを選択しても UTC タイムゾーンに設定されます。現在のバージョンの SQL Azure ではタイムゾーンの変更はサポートされていません。

Q: SQL Azure データベースまたはサーバーへの接続数に制限はありますか?

データベースまたはサーバーに対して確立できる接続の数に制限はありません。ただし、接続確立の初期コスト (参照、SSL ハンドシェイク、ログイン プロセスなど) を発生させない接続プールで、接続を直接使用することをお勧めします。

Q: SQL Azure のサービス管理者アカウントのパスワード ポリシーについて教えてください。

パスワードは 8 文字以上で、1 つ以上の数字、文字、および記号を含む必要があります。ユーザー名に 3 つの連続する文字を使用することはできません。

Q: Windows Azure と同様に、SQL Azure の管理者アカウントを複数作成することはできますか?

現在のバージョンの SQL Azure では、1 つの管理者アカウントと 1 つのサービス管理者アカウントのみがサポートされます。共同管理者機能は SQL Azure ではまだサポートされていないため、共同管理者には SQL Azure ポータルで空のサブスクリプション リストが表示されます。共同管理機能のサポートは近いうちに追加される予定です。

Q: ポート 1433 を開かずに SQL Azure に接続することはできますか?

SQL Azure のデータベース マネージャーを使用すると、ポート 1433 を開かずに SQL Azure を接続および管理できます。データベース マネージャーは、クラウド環境でデータ ドリブンのアプリケーションを迅速に開発、展開、および管理するためのわかりやすいソリューションとして、Web 開発者などの技術者向けに設計されています。

トップに戻る

データベースの移行とバックアップ/復元

Q: オンプレミスの SQL Server と SQL Azure との間でデータを移動する場合、どのような方法がサポートされていますか? 

オンプレミスの SQL Server と SQL Azure との間でデータを移行するには、いくつかの方法があります。

  • SQL Server Integration Services (SSIS) を ADO.NET 接続マネージャーと組み合わせて、パフォーマンスの向上のため並行処理を有効にして使用することができます。サイズとニーズに応じてデータのスクリプトを作成することもできます。
  • サポート対象外ですが、コミュニティで開発されたスクリプト ツールである SQL Azure 移行ウィザードも Codeplex で提供されています。
  • 一括コピー ユーティリティ (BCP): BCP を使用して、オンプレミスの SQL Server から SQL Azure (またはその逆) にデータを移行できます。
  • SQL Server Management Studio 2008 R2 でスクリプト生成ウィザードを使用して、データベースのスクリプトを作成することもできます。
  • SQL Server 2008 R2 以降のインポートまたはエクスポート ウィザードでは、.Net Provider for SQL Server の使用による SQL Azure データベースのサポートが提供されます。 詳細については、「SQL Azure からのデータのエクスポート: インポートおよびエクスポート ウィザード」を参照してください。 
  • また、Windows Azure トレーニング キットで説明されているオンプレミスから SQL Azure へのデータの移行に関するデモも参照してください。

Q: SQL Server Management Studio を使用して SQL Azure と互換性のあるスクリプトを生成するにはどうすればよいですか?

SQL Server 2008 R2 に含まれている SQL Server Management Studio (SSMS) のバージョンでは SQL Azure がサポートされています。SSMS の Express Edition は、Microsoft SQL Server 2008 R2 RTM - Management Studio Express からダウンロードできます。SSMS を使用して SQL Azure と互換性のあるスクリプトを生成するには、次の手順を実行します。

1.SSMS でデータベースを選択して右クリックし、[タスク][スクリプトの生成] の順に選択します。

 

2.[スクリプト作成オプションの設定][詳細設定] をクリックして、[データベース エンジンの種類に対応したスクリプト][SQL Azure データベース] を設定します。


3.[スクリプト作成オプションの設定] で [詳細設定] をクリックして、[データベース エンジンの種類に対応したスクリプト] に [SQL Azure データベース] を設定します。

Q: MySQL データベースを SQL Azure に移行するにはどうすればよいですか?

SQL Server Migration Assistant tool kit 2008 for MySQL v1.0 を使用すると MySQL か��� SQL Azure にデータベースを移行することができます。このツールを使用すると、MySQL から SQL Server 2008 および SQL Azure への移行にかかる労力、コスト、およびリスクを大幅に削減できます。SSMA 2008 for MySQL v1.0 CTP1 では、スキーマおよびデータの移行を自動化できるだけでなく、移行作業を評価することもできます。

Q: SQL Azure には下位互換性はありますか? SQL Server 2000 または SQL Server 2005 のデータベースを SQL Azure に移行できますか?

SQL Azure は下位互換性モードでは実行されません。SQL Azure は SQL Server 2008 コード ベースに基づいて構築されています。そのため、すべての推奨されない SQL Server 2000 と SQL Server 2005 の機能は SQL Azure では動作しません。SQL Azure に移行する前に、SQL Server 2008 アップグレード アドバイザーを使用して、データベースの互換性をテストできます。SQL Azure 移行ウィザードを使用して、SQL Server 2008 と SQL Azure の間に互換性があるかどうかをチェックできます。このツールで SQL Profiler トレースを分析して、アプリケーションによって生成された T-SQL ステートメントの互換性をチェックすることもできます。

Q: SQL Azure に格納されたデータのバックアップについて教えてください。損失やデータの破損から回復するにはどうすればよいですか?

一般に、論理データの損失や破損 (ユーザー アプリケーションによってデータが誤って削除された場合など) から回復するには、バックアップをとっておくことがベスト プラクティスです。サービスではハードウェア障害からの復旧のために定期的にバックアップおよび一貫性チェックが実行されますが、これはサービスの内部に対してのみ有効です。ただし、お客様は一括コピー ユーティリティ (BCP) または SQL Server Integration Services (SSIS) を使用して、データをオンプレミス SQL Server データベースにいつでもコピーできます。

Q: オンプレミスの SQL Server と SQL Azure との間でのデータ移動に関するハンズオン トレーニングまたはデモは用意されていますか? 

Windows Azure トレーニング キットでは、データベースの移行を含むサンプル、デモ、およびプレゼンテーションを SQL Azure 上で提供しています。

トップに戻る

データベース サイズ

Q: SQL Azure で作成できるデータベースの数に制限はありますか?

サーバーごとに 150 のデータベースというソフト リミットがあります。Azure のヘルプ デスクに問い合わせて、与信審査を受けることによって、この制限を解除できます。

Q: サービスでサポートされているデータベースの最大サイズに制限はありますか?

提供されているエディションには、Web Edition と Business Edition の 2 つがあります。Web Edition と Business Edition で現在許可されるデータベースの最大サイズはそれぞれ 5G B および 50 GB です。この制限は今後引き上げられる予定です。SQL Azure チームのブログからの更新情報に引き続きご注目ください。

Q: データベースが最大サイズに達するとシステムはどうなりますか?

設定されたエディションの最大サイズに達すると、エラー コード 40544 が表示されます。予測される動作は次のとおりです。

  • すべての挿入/更新/作成/変更の追加操作は抑制され、データベースにデータを追加しようとするとセッションが終了します。
  • 読み取りは引き続き機能します。
  • DELETE/DROP/TRUNCATE などの操作は、引き続き機能します。テーブルやインデックスの削除、データの削除、またはテーブルの切り捨てを行うことにより、データベースのサイズを縮小できます。
  • 空き容量が増えてから新しいデータを挿入できるようになるまでに、最大 15 分かかる場合があります。

詳細については、「ガイドラインと制限事項」を参照してください。

Q: 空き容量に基づいて計画を立てるために、データベースの実際のサイズを確認するにはどうすればよいですか? データベースのサイズの確認に使用できるプログラムはありますか?

データベースのサイズはそのテーブル、インデックス、およびオブジェクトが含まれるデータベースのページ数をカウントすることによって計算されます。これは標準の SQL Server でのデータベース サイズの計算と同様、インスタンスによって使用されるディスク領域ではなく、各データベースによって使用される領域によって算出できます。次の要素は、サイズに影響しません。

  • ログはサイズ計算から除外されます。
  • Master DB はサイズ計算から除外されます。
  • 他のシステム データベースおよびサーバー カタログもすべて、計算から除外されます。
  • 顧客データベースのレプリカはすべて、計算から除外されます (顧客データベースの 3 つのレプリカのうち 1 つのみをカウントします)。

この情報をプログラムによって検出する手段は現在提供されていません。この機能は近いうちに追加される予定です。SQL Azure ポータルに、実際の使用量が表示されるようになります。

  

次の Data Management View (DMV) から、使用されているデータベースの概算サイズを確認することもできます。

SELECT SUM(reservered_page_count)*8.0/1024 as 'SizeInMB' FROM 
sys.dm_db_partition_stats

Q: データベースのサイズにログは含まれますか?

いいえ、データベースのサイズに含まれるのは、データ、インデックス、およびオブジェクトのみです。詳細については、「SQL Azure のアカウントと課金」を参照してください。

トップに戻る

課金/メトリック

Q: 日割りの課金モデルについて説明してください。

SQL Azure の課金モデルは非常にシンプルです。課金額は、期間内に使用したデータベースの数、データベースのエディション、および帯域幅に基づいて決まります。(いずれかの) データベースを作成すると、メーターが始動します。データベースを削除すると、メーターが停止します。データベースが丸 1 か月存在した場合、Web Edition データベースでは 9.99 ドル、Enterprise Edition では 99.99 ドル課金されます。数日間のみデータベースが存在した場合は、"日割りのデータベース料金" が課金されます。Web Edition データベースの場合の日割り料金は、約 0.30 ドルです。

帯域幅使用量の詳細は sys.bandwidth_usage という DMV から、データベース使用量の詳細は sys.database_usage という DMV から確認できます。料金モデルの詳細については、SQL Azure の料金を参照してください。

Q: SQL Azure サービスのメトリックスはどこで入手できますか?

一部のメトリックはマスター データベースに保存されています。また、sys.database_usagesys.bandwidth_usage などの新しいビューが追加されており、データベースの数、種類、サイズ、および各データベースの帯域幅使用量が表示されます。

Q: master データベースを使用すると料金が発生しますか?

いいえ、master データベースについては料金は発生しません。

トップに戻る

サブスクリプションの管理

Q: Azure のサブスクライブを解除すると、SQL Azure データベースはすぐに削除されますか? 削除対象としてマークされたデータはどのように処理されますか?

Azure のサブスクライブを解除すると、すべての Azure サービスのサブスクリプションが必然的に取り消されます。 SQL Azure では、サブスクリプションはアクティブな状態から無効状態に変わります。SQL Azure データベースはすぐには削除されません。90 日の保有期間があり、その間、Azure のサブスクリプションの再有効化、または単に SQL Azure データベースのエクスポートを行うことができます。90 日の猶予期間が過ぎると、サブスクリプションはプロビジョニング解除状態になり、SQL Azure データベースは完全に削除されます。

Q: SQL Azure のサブスクライブを解除した場合の SQL Azure のデータの保持およびプライバシー ポリシーはどのようになっていますか?

SQL Azure は、サブスクライブが解除された 90 日後に SQL Azure のデータベースを削除します。

Q: すべてのサービスではなく、SQL Azure のみ、またWindows Azure のいずれか 1 つのサービスをキャンセルすることはできますか?

キャンセルは、現在使用可能な 3 つの Azure サービス (Windows Azure、SQL Azure、AppFabric) のすべてに影響します。ただし、サービスは "従量課金制" であるため、サブスクリプションを維持しつつ SQL Azure に対する課金を停止するには、データベースおよびサーバーを削除します。これで、SQL Azure の料金が発生しなくなります。

Q: サブスクリプション間でデーターベースを移行するにはどうすればよいですか?

T-SQL ステートメント (CREATE DATABASE .... AS COPY OF ...)、SQL Sever 2008 R2 バージョンの SQL Server Management Studio (SSMS) のスクリプト生成ウィザード、SQL Server Integration Services (SSIS)、または一括コピー ユーティリティ (BCP) を使用して、データベースをサブスクリプション間で移行できます。SQL Azure サーバーは論理サーバーであり、サーバー名が自動生成されるため、クライアントの接続文字列を更新する必要があります。移行元と移行先のサブスクリプションが同じサブ領域内に配置されている場合は、ヘルプ デスクに問い合わせて、サーバーおよびデータベースをサブスクリプション間で移動するよう依頼できます。現在のバージョンの SQL Azure では、サブスクリプションごとに 1 つのサーバーのみがサポートされます。

Q: サブスクリプションの交換や、サブスクリプションの別の Live ID への移動を行う方法を教えてください。

SQL Sever 2008 R2 バージョンの SQL Server Management Studio (SSMS) のスクリプト生成ウィザード、SQL Server Integration Services (SSIS)、または一括コピー ユーティリティ (BCP) を使用すると、データベースをサブスクリプション間で移行できます。この場合は、新しいサーバーに SQL Azure ファイアウォールを手動で構成する必要があります。SQL Azure サーバーは論理サーバーであり、サーバー名が自動生成されるため、クライアントの接続文字列を更新する必要があります。近い将来ご提供できるように、サブスクリプションをアカウント間で移動するための支援ツールを現在開発中です。

Q: SQL Azure サーバーを追加作成するにはどうすればよいですか?

SQL Azure サーバーは、データベースの論理的な集合体に過ぎません。SQL Azure ではサブスクリプションごとに 1 つのサーバーが提供されます。ただし、1 つの共通 Azure プラットフォーム アカウントを使用して、複数のサブスクリプションを作成できます。これによって必要な数のサーバーを作成できます。

トップに戻る

サービスの更新プログラム

Q: サービスの更新プログラムが展開されると、すべてのユーザーが最新バージョンを使用できますか?

はい、サービスの更新プログラムはすべてのお客様に対して展開され、すべてのお客様が最新バージョンを使用できます。 

Q: OS の修正プログラムおよびサービスの更新プログラムの展開手順を教えてください。

修正プログラムとサービスの更新プログラムは SQL Azure 環境のすべてのコンピューターに展開されます。更新プログラムの下位互換性についても、テストおよび評価で確認を実施しています。

トップに戻る

その他

Q: ワークロードはどのような場合に抑制されますか? 

一般的に、次の抑制 (スロットル) 状況が考えられます。

  • データベースの割り当てサイズに達した場合: 更新/挿入/作成/追加のすべての動作が、データベース サイズが縮小されるまで抑制されます。
  • 一時的な負荷状態: クライアントによる再試行が必要があるというエラーが示されます。 

接続損失エラーの処理方法の詳細については、TechNet Wiki の SQL Azure での接続管理に関する記事を参照してください。この記事には、接続の損失が生じるさまざまな原因のほか、SQL Azure の接続のライフ サイクルを管理する方法についてのガイドラインやコーディングのベスト プラクティスが記載されています。MSDN ライブラリの「SQL Azure のトラブルシューティング」も参照してください。   

Q: 今後、SQL Azure で大容量のデータ セットをサポートする予定はありますか?

SQL Azure では、お客様が無制限にスケールアウトできるプラットフォームを提供しています。お客様はアプリケーション レベルでデータをパーティション分割できます。今後は、データベースの許容サイズを増やす予定です。また、プラットフォームでのパーティション分割のサポートも今後追加される予定です。

Q: SQL Azure のケース スタディはどこで入手できますか?

SQL Azure について記載されたケース スタディは「Windows Azure ケース スタディ」で入手できます。

トップに戻る