SQL Azure

Windows Azure に関する正式なアナウンスを公開する場として知られる、
Windows Azure Team Blogにて
Annoucing New Windows Azure Services to Deliver "Hybrid Cloud"」が投稿されました。

Amazonちっくになるね!とか突っ込みそうになるけど、
そのあたりは、明日の朝にはpnop抱かれたい役の方がわかりやすくBlogを書いてくれると思うので割愛。

 

Azure Team Blogに、
今回のWindows Azureの更新内容をまとめた Fact Sheet が公開されている。

Fact Sheetで、SQL Azure(と言えるのも後少しだけど…)に関連する内容があったので、
ピックアップしておく。

 

Windows Azure SQL Reporting

これまでSQL Azure ReportingとしてPreview公開されてきたサービスが、
Windows Azure SQL Reporting とブランド名を変えて、generally available された。

セキュアで、柔軟性があり、コスト効率のいいクラウドベースのサービス。
システム管理や追加のソフトウェア、ハードウェアが不要で、組織内外でレポート公開を可能にする
レポーティングサービスです。

 

と言うわけで、今のところSQL Azureに関する発表は、これぐらい。
後は、SQL Azure Data Syncのアップグレードが
予告されてることぐらい(SQL Data Syncのクライアントエージェントのアップグレード通知)。

SQL Azure

SQL Data Sync (SQL Azure Data Sync) の新しいサービスアップデート(Service Update 5 / SU5)が、6月6日(PST)から6月7日の間で実施されます。
新しいクライアントエージェント(バージョン4.0.46.0)のダウンロード提供もされます。

今まで提供されてきたすべてのクライアントエージェントは、アップグレードする必要があります。クライアントエージェントのアップグレード方法について説明します。

補足

クライアントエージェントのデフォルトパスが、次のパスに変更になります。

32ビット
C:\Program Files\Microsoft SQL Data Sync

64ビット
C:\Program Files (x86)\Microsoft SQL Data Sync

アップグレード方法

ここ」で説明している手順に従って、現在インストールされているエージェントのバージョンを確認してください。

  1. もしクライアントエージェントを起動していない場合は、クライアントエージェントをインストールしている場所に移動します。

    32ビット
    C:\Program Files\Microsoft SQL Azure Data Sync

    64ビット
    C:\Program Files (x86)\Microsoft SQL Azure Data Sync

  2. インストールディレクトリのbin配下にある「SqlAzureDataSyncAgent」を起動します。
  3. クライアントエージェントウィンドウ上で、Upgrade Agent をクリックします。

    アップグレードウィザードで、エージェントのアップグレードが進行します。アップグレードが完了すると、インストールパスが変わります。

  4. アップグレード処理が完了すると、クライアントエージェントウィンドウが閉じます。

    補足:旧エージェントのインストールパスは削除してはいけません

  5. Windows Explorerで、ステップ1で示したインストールパスを開きます。
  6. dataディレクトリに移動し、「AgentConfigData.xml」ファイルなどを確認します。

    32ビット
    C:\Program Files\Microsoft SQL Azure Data Sync\data

    64ビット
    C:\Program Files (x86)\Microsoft SQL Azure Data Sync\data

  7. AgentConfigData.xmlファイルをコピーします。
  8. アップグレードしたエージェントの新しいディレクトリに移動します。
  9. 手順7でコピーしたAgentCOnfigData.xmlファイルをdataディレクトリに張り付けます。

    32ビット
    C:\Program Files\Microsoft SQL Data Sync\data

    64ビット
    C:\Program Files (x86)\Microsoft SQL Data Sync\data

  10. システム上で、Microsoft SQL Data Sync Windows Serviceを再起動します。
  11. Microsoft SQL Data Sync Agent Previewを実行します。
    1. 補足

      さりげなく記述されていますが、

      「SQL Azure Data Sync」は、「SQL Data Sync」と記載されていますね。

      さて、これがどういう意味かは、今週末のお楽しみってことで。

      参照元情報

      Client Agent Upgrade Notification

    Windows Azure

    image

    Windows Azureの中の人から興味深いメッセージが展開された。

    そのメッセージは、実施した変更を広め、サポート情報を提供すること。

    さらに、変更をした理由を広める手助けをして欲しいので、メッセージを公開して良いという何とも珍しいものである。
    //通常は、教えてあげるけどBlogで発表するまではNDAだよってパターン(^^

     

    Windows Azureポータルに実施した変更は、データセンター選択で「Anywhere」という選択肢を削除したことです

    Anywhereって何?って思った人は、http://technet.microsoft.com/ja-jp/ff934854.aspx#4 を見てね。

    変更したこと

    Windows Azureをデプロイするデータセンター選択で、
    Anywhere という地域(US Anywhere、Asia Anywhere、Europe Anywhere)を廃止し、
    具体的なサブ地域(orth Central US, South Central US, West US, East US, North Europe, West Europe, East Asia, Southeast Asia)を表示するように変更しました。

    Windows Azure管理ポータルでは、この変更が反映されています。

    もうAnywhereを選択できず、デプロイする場所を具体的に指定するようになりました。

     

    変更した理由

    変更した理由は、Windows Azureユーザからのフィードバックに基づいてます。

    Anywhereは、ストレージやSQL Azureのような他のバックエンドサービスは、
    コロケーションを計算し保障するものではありません。

    そのことが、顧客サービスの価格とパフォーマンス特徴について混乱を与えることになりました。

    この変更により、顧客のサービス提供場所が明確になります。

     

    変更による影響は?

    1. サービス提供の可用性には影響ありません。
      どこにも移動せず、現在配置されているサブ地域で、そのまま実行し続けます。
    2. Windows Azure管理ポータルでは、サブ地域が表示され、
      特定サブ地域のみを選択できるようになりました。
    3. Windows Azure Service Management APIを使用したコードで、
      Anywhereに強く依存している場合は、“x-ms-version” を2011-12-01以前に設定し続けると
      動作し続けます。
    4. Anywhere地域に対してのみ作成されたアフィニティグループは使用することができません。
      アフィニティグループとは、
      Windows Azure のコンピュートサービスやストレージサービスを作成する際に、
      同一のアフィニティグループに属するサービスを極力近づけて配置してもらうための機能です。
      特定サブ地域を指定してサービスを再作成する必要があります。

    image

    Windows Azure

    image

     

    Windows Azureエンタープライズのアカウントには、3つの管理者ロールがあります。管理者ロールにWindows Live IDを追加することで権限付与します。

    • Enterprise Administrator
    • Account Owner
    • Service Administrator

    複数のWindows Live IDをEnterprise Administratorに登録することができますが、一つのAccountには、一つのAccount Owner Windows Live IDしか登録できません。
    Windows Live IDをEnterprise AdministratorとAccount Ownerの両方に登録することができます。

    image

     

     

    Enterprise Administrator

    Enterprise Enrollmentには、複数のEnterprise Administratorsを登録できます。

    • AccountとAccount Ownerの管理
    • Enterprise Administratorsの管理
    • 全てのアカウントの使用量の表示

    Account Owner

    それぞれのAccountには、一意なWindows Live IDが必要です。

    • サブスクリプションの作成と管理
    • Service Administratorsの管理
    • 全てのサブスクリプションの使用量のダウンロード

    Service Administrator

    • サブスクリプションへのアクセスと管理ができ、developer portal上で開発プロジェクトを管理できる
      • サブスクリプション

        サブスクリプションは、開発プロヘクトへの接続が提供され、組織内での異なるチーム管理をすることができます。

         

        image

         

        アプリケーションごとに異なるサブスクリプションを作成し、別々のService Administratorとして異なるWindows Live IDを登録することができます。

        Acount OwnerはAccount内にサブスクリプションを作成することができ、Service AdministratorのWindows Live IDを登録することができます。

        レポート

        Account Ownerは、Accountのデータ使用量をダウンロードすることができます。

         

        image

      SQL Azure

      image

      SEの雑記にて紹介されている「SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置」は、データ層アプリケーション(DAC Framework)をSQL Server Management Studioの裏側で使用して実現しています。

      SQL Server Management Studioで使用する以外にも、自分でDAC Frameworkを使用したコードを書いてバックアップ、デプロイをすることもできます。

      SQL Server 2008 R2、SQL Server 2012それぞれでライブラリが提供されていますが、SQL Server 2008 R2とSQL Server 2012で名前空間が変わっています。

      SQL Server 2008 R2では、「Microsoft.SqlServer.Management.Dac」

      SQL Server 2012では、「Microsoft.SqlServer.Dac」

      必要なライブラリ

      Microsoft SQL Server 2012 Feature Packから「Microsoft SQL Server 2012 Data-Tier Application Framework」をダウンロードしてインストールします。

      インストールをすると、「C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin」配下に、「Microsoft.SqlServer.Dac.dll」が配置されています。

      最少コード

      using Microsoft.SqlServer.Dac;
      static void Deploy(string conx, string databaseName, string path)
      {
          DacServices dacServices = new DacServices(conx);
          DacPackage dacpac = DacPackage.Load(path);
          dacServices.Deploy(dacpac, databaseName);
      }

      pathに「.dacpac」のファイルパス

      databasenameに、「SQL Azureに新たに作成したいデータベース名」

      conxに、接続文字列

      を渡してあげれば、SQL Azureデータベースのデプロイの完成。

       

      リファレンス