Azure SQL Database でデータベースをまたがった SQL を実行可能にする手順メモ

Azure SQL Database でも、 外部データソースと外部テーブルを使ってデータベースをまたがった SQL を実行できるので、 手順をメモしておく。

マスターキーの作成

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<パスワード>'

データベース スコープ ベースの資格情報の作成

CREATE DATABASE SCOPED CREDENTIAL [<資格情報名>]
WITH IDENTITY='<ログイン名>', SECRET='<パスワード>'

外部データソースの作成

CREATE EXTERNAL DATA SOURCE [<外部データソース名>]
WITH
(
  TYPE=RDBMS,
  LOCATION='<SQL Server 名>.database.windows.net',
  DATABASE_NAME='<データベース名>',
  CREDENTIAL=[<資格情報名>]
)

外部テーブルの作成

CREATE EXTERNAL TABLE [<外部テーブル名>] (
  -- 対象のテーブルと同じ列を定義する
) WITH (
  DATA_SOURCE = [<外部データソース名>]
)

上記すべてを、外部テーブルを作成するデータベースに対して行う。