SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置

one comment

Microsoft Windows Developer Days で オンプレ & クラウドのデータを自在に活用! SQL Server 2012 開発 のセッションに参加させていただいてなるほどと思ったので軽くまとめてみたいと思います。

■SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置


SQL Server 2012 の SSMS では SQL Azure へのデータベース配置の機能が強化されています。
SQL Server 2008 R2 の SSMS でデータベースのタスクを開いた時のメニューは以下のようになっています。
image

SQL Server 2012 の SSMS ではタスクの中に [SQL Azure へのデータベースの配置] が追加されており、この機能を使用すると対象のデータベースを SSMS を使用して SQL Azure に配置することができます。
image

  1. 対象のデータベースを選択して、タスクから [SQL Azure へのデータベース配置] をクリックします。
  2. [次へ] をクリックします。
    image
  3. [接続] をクリックして、SQL Azure に接続をします。
    image
  4. SQL Azure に配置した際のデータベース名とデータベース設定を入力して、[次へ] をクリックします。
    データベースの配置には [bacpac] (データを含んだデータ層アプリケーション) が使用されています。
    image
  5. [完了] をクリックします。
    image
  6. ソースデータベースから bacpac が作成され SQL Azure への配置が行われます。
    image
  7. [閉じる] をクリックして配置を完了します。
    image

以上で、SQL Azure へのデータ配置は完了です。

SSMS で SQL Azure へ接続して、SQL Azure 上のデータベースを選択し、[接続] をする際にオンプレミスの SQL Server を選択すると SQL Azure から SQL Server へデータベースを配置することも可能です。

SQL Server 2012 では新しく照合順序として [_SC] という照合順序が増えていますが、現在の SQL Azure ではこの照合順序はサポートされていないため、SQL Azure に配置しようとするとエラーが発生するので注意が必要です。
# データベース単位の照合順序はプロパティからの変更レベルで変えられるので、再インストールは必要ないですが。
image

 

■Azure ストレージへ bacpac 形式のファイルを配置


SQL Server 2012 の SSMS では、タスクの [データ層アプリケーションのエクスポート] をすることで、bacpac 形式のデータでエクスポートすることができますが、これも Windows Azure への連携が行えるようになっています。

エクスポート先として、[Windows Azure に保存] を選択し、ストレージアカウントの情報を設定することで、Azure ストレージへ bacpac 形式のファイルをエクスポートすることができます。

  1. 対象のデータベースを選択して、タスクから [データ層アプリケーションのエクスポート] をクリックします。
  2. [次へ] をクリックします。
    image
  3. [Windows Azure に保存] を選択肢、[接続] をクリックして Azure ストレージに接続を行います。
    image
  4. ファイル名とコンテナー名を指定して [次へ] をクリックします。
    image
  5. [完了] をクリックします。
    image
  6. [閉じる] をクリックします。
    image

以上で、Azure ストレージへのエクスポートは完了です。

SQL Server 2012 の SSMS では、Azure ストレージへ接続ができるようになっています。
# なんで、Azure ストレージに接続できるようになったかが疑問だったのですがデータ層アプリケーションの格納先として利用するからなんですね。
image

Azure ストレージで bacpac を選択して右クリックをして、[データ層アプリケーションのインポート] から Azure ストレージの bacpac を使用してデータベースに配置することが可能となっています。
image

bacpac をインポートするサーバーとして、オンプレミスの SQL Server / SQL Azure のどちらも設定することができます。
imageimage

私の環境で SQL Server 2008 R2 のデータベースを Azure ストレージに bacpac 形式でアップロードし、SQL Azure にインポートしようとしたところ以下のエラーになってしまいましたが…。
# SQL Server 2012 のデータベースを Azure ストレージに bacpac 形式で保存した場合は正常にインポートできました。
image

SQL Server 2012 のコンセプト として [アプライアンスからクラウドまで単一アーキテクチャ] というものがありますが、クラウドとの相互連携が SQL Server 2012 では強化されているのが SSMS からも確認ができますね。

Written by masayuki.ozawa

5月 3rd, 2012 at 8:52 pm

Posted in SQL Server

Tagged with ,

One Response to 'SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置'

Subscribe to comments with RSS or TrackBack to 'SQL Server 2012 の SSMS を使用して SQL Azure にデータベースを配置'.

  1. […] […]

Leave a Reply

*