新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Azure SQL Databaseで、データベースをまたいだクエリは書かない方がいい

SQL Serverを使うのは、Azure SQL Databaseが初めてだったので知らなかったのですが、SQL Serverでは、データベースをまたいだクエリは、下記のように、データベースを指定することによって簡単に書けます。

SELECT
  *
FROM [<db_name>].dbo.test_table

しかし、Azure SQL Databaseで同じことをすると、下記のようなエラーが出てできません。

Failed to execute query. Error: Reference to database and/or server name in '<db_name>.dbo.test_table' is not supported in this version of SQL Server.

Azure SQL Databaseでデータベースをまたいだクエリを書くには、「エラスティック データベース クエリ 」を使って、参照先のテーブルを、外部テーブルとして定義しておく必要があります。

docs.microsoft.com docs.microsoft.com

しかし、テーブル1個づつ定義を作らないといけないので、結構手間です…。

結論

Azure SQL Databaseでは、頻繁に参照するテーブルは、同じデータベースの中に置き、データベースを、安易にテーブル分類手段としては使用しない方が良さそうですね。

感想など

エラスティックプールを使えば大丈夫かなと思って試したのですがダメでした。

Azure SQL Databaseは、ポータル上のくくりは、[サーバー]->[データベース]という階層になっていますが、物理的なサーバーは「データベース」単位で別物のようです。

Azure SQL Databaseでは、データベースを切り替えるUSEコマンドが使えないので、どうしてだろう?と思っていたのですが、データベース毎にサーバーが違うからなんですね。

USE (Transact-SQL) - SQL Server | Microsoft Learn

Azure SQL Database マネージドインスタンス」ならできそうですね。でもこれって、Azure SQL Databaseと言うより、単にSQL ServerをインストールしたWindows PCのような気が…。

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com