SE の雑記

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

SQL Azure をリンクサーバーで使用してみる

leave a comment

SQL Azure ですが、SQL Server からリンクサーバーとして使用することも可能です。

今日はこの設定についてまとめていきたいと思います。

技術情報としては以下に記載されています。
Linked Servers to SQL Azure

■SQL Server 2008 R2 に SQL Azure をリンクサーバーとして登録


SQL Azure は SQL Server をベースとしています。
試しにサーバーの種類を [SQL Server] として設定してみるとどうなるでしょう。
image
image
# ログインは [ログイン名@サーバー名] の形式で設定する必要があります。

リンクサーバーとして登録はできるのですが、テーブルを確認することができません。
image
クエリを実行しても同様のエラーが発生してしまい、リンクサーバーにクエリを実行することができません。

SQL Azure に対して接続をする際には [データベースを指定] する必要があります。
SQL Server をリンクサーバーとして指定した場合は、データベースを指定することができません。

では、どうやってリンクサーバーを使用するかというと、ODBC を使用したリンクサーバーとして設定をすることで、SQL Azure をリンクサーバーとして使用することが可能となります。

  1. [管理ツール] → [データ ソース (ODBC)] をクリックします。
    image
  2. [システム DSN] を [追加] をクリックします。
    image
  3. [SQL Server Native Client 10.0] を選択して、[完了] をクリックします。
    image
  4. データソース名とサーバーを入力して、[次へ] をクリックします。
    image
  5. ログイン名 (ログイン名@サーバー名) とパスワードを入力して、[次へ] をクリックします。
    image
  6. [既定のデータベースを以下に変更する] からユーザーデータベースを選択して、[次へ] をクリックします。
    image
  7. [完了] をクリックします。
    image
  8. [データ ソースのテスト] をクリックして、接続できるかを確認し、[OK] をクリックします。
    image
    image

以上で ODBC の設定は完了です。

後は作成した ODBC を使用してリンクサーバーを作成します。
設定としては以下のようになります。
image
image

以上で設定は完了です。

リンクサーバーとして登録された SQL Azure のサーバーからテーブルの情報を取得することが可能です。
image

オンプレミスの SQL Server 2008 R2 に接続をして、SQL Azure に対してクエリを発行することも可能となります。
image

リンクサーバーとして登録することで、オンプレミスの SQL Server や SQL Azure のデータベース間でジョインした検索も可能となります。
# 通常、SQL Azure では、同一サーバー上の他のデータベース間でのジョインはできないのですがリンクサーバー経由だと可能となります。
ただし、かなりレスポンスが出ないですが…。

実際に使うシチュエーションがあるかはわからないですが、ひとまず設定方法のメモとして。

Share

Written by Masayuki.Ozawa

6月 18th, 2011 at 10:18 pm

Posted in SQL Azure,SQL Server

Tagged with

Leave a Reply