SQL Azure

imageSQL Server MVPのムッシュ小澤さんが「SQL Server 2012 RC0 の提供が開始されました」と報告されているのを見て初めてリリースを知りました。

早速、SQL Server 2012 RC0 Management StudioによるSQL Azure対応状況をチェックしてみましたので、簡単に展開します。今回は、概要編と言うことで各々のメニューで何ができるのかの簡単な紹介にとどめています。詳細は、続編を参照してください。

オブジェクトエクスプローラー

image

SQL Azureに接続し、オブジェクトエクスプローラーでSQL Azureサーバーに接続し展開したところです。

目新しいものとしては、「Federations」がフォルダーが登場。さらに、管理の下に「データ層アプリケーション」が登場してます。

Federationは、SQL Azure Federation対応のものでしょう。とはいえ、現時点ではデザイナーは提供されずクエリが表示されます。Federationはデータベースを分割配置するのに使用できるSQL Azureへ無限にスケールアウトできるリリースが近い機能です。

データ層アプリケーションは、Data-tier Applicationの日本語表記で、DAC Frameworkを使用します。今のところ、DAC Frameworkを使用したデータベースのエクスポート・インポート機能がWindows Azure管理ポータル(SQLとBlob間)とSQL Azure管理ポータル(SQLとローカル間)それぞれで提供されています。(現状、SQL Azureでは未対応っぽいです。)
おそらく、データ層アプリケーションが配置できるのだと思いますが、詳細はまだ追えてないので追々調査したいと思います。

SQL Azureサーバー、SQL Azureデータベースのタスク

SQL Azureサーバーのタスクとして、データ層アプリケーションの配置とImport Data-tier Application..の2つが追加されています。レポートには特にデフォルトでは何も用意されていません。。。。

image

SQL Azureデータベースへのタスクとして、Deploy Database to SQL AzureとExport Data-tier Application..、データ層アプリケーションの抽出、データ層アプリケーションとして登録の4種類が追加されています。

  • Deploy Database to SQL Azureは、既存のSQL AzureデータベースやSQL ServerデータベースからSQL Azureサーバー上に新たに作成する機能です。データベースの複製や移動がしやすくなります。内部的には、一旦bacpacとしてクライアントにファイルを生成し、そのファイルを使用して対象サーバーにデータベースを作成します。
  • Export Data-tier Application..は、SQL Azureデータベースをロカールにbacpacとしてデータベースをバックアップすることができる機能です。
  • データ層アプリケーションの抽出は、SQL Azureデータベースをdacpacとしてスキーマー構造をバックアップできる機能です。
  • データ層アプリケーションとして登録は、dacpacを作成し、それをサーバーに登録することができる機能です。紹介しておいて、申し訳ないのですが現状SQL Azureでは対応していないようです。

間際らしいのですが、データ層アプリケーション(もしくはData-tier Application、または、DAC Framework)にはbacpacとdacpacの2種類あります。dacpacはデータベースの構造を格納するファイルです。bacpacは、データベースの構造とデータの両方を格納するファイルです。

image

クエリエディターとデザイナー

さて気になるのがデザイナーの対応状況です。

image

これが結論です。まだ、現時点ではデータベースやテーブルのデザイナー機能は、SSMSでは提供されておりません。SSMS2008 R2と同様にクエリが提供される状況です。

さらにクエリエディタは、SQL Azureではインテリセンス機能もまだ用意されておらず、ちょびっと(イライラする程度には)もっさりしています。まぁ評価しているPCは、4年前のCore 2 Duo、メモリ4GB、グラフィックメモリ256MBなPCなので限界なのかもしれませんね。

現状の対応状況

SQL Azureへの対応は、まだまだ限定的です。

SQL Azureからdacpacやbacpacへのエクスポートは正常に動作しますが、SQL Azureへの配置は、基本的にどの機能でも失敗してエラーになります。原因は、SQL Azure対応していないから。
SQL Azureでは基本的にシングルバッチでなければならないのですが、インポート機能ではそれが考慮されていないため、「The CREATE DATABASE statement must be the only statement in the batch. (Microsoft SQL Server、エラー: 40530)」というエラーが発生してしまいます。

そして、やっぱり右クリックやタイピングがもっさりしていますね・・・・。