Azure Cross Database Query

https://www.mssqltips.com/sqlservertip/6445/azure-sql-cross-database-query/

-- protects private keys
CREATE MASTER KEY; -- create master key
GO
 
-- credential maps to a login or contained user used to connect to remote database 
CREATE DATABASE SCOPED CREDENTIAL CrossDbCred -- credential name
WITH IDENTITY = 'CrossDb',                    -- login or contained user name
SECRET = 'Str0ngP@ssword';                    -- login or contained user password
GO
 
-- data source to remote Azure SQL Database server and database
CREATE EXTERNAL DATA SOURCE JapaneseCars
WITH
(
    TYPE=RDBMS,                           -- data source type
    LOCATION='server.database.windows.net', -- Azure SQL Database server name
    DATABASE_NAME='JapaneseCars',         -- database name
    CREDENTIAL=CrossDbCred                -- credential used to connect to server / database  
);
GO
 
-- external table points to table in an external database with the identical structure
CREATE EXTERNAL TABLE [dbo].[JapaneseCars_Vehicles]
(
    [Year] [varchar](4),
   [Make] [varchar](20),
   [Model] [varchar](20)
)
WITH (DATA_SOURCE = [JapaneseCars],  -- data source 
      SCHEMA_NAME = 'dbo',           -- external table schema
      OBJECT_NAME = 'Vehicles'       -- name of table in external database
    );
GO
 
-- test 
SELECT [Year]
     , [Make]
    , [Model] 
FROM [dbo].[Vehicles] 
 
UNION ALL 
 
SELECT [Year]
     , [Make]
    , [Model] 
FROM [dbo].[JapaneseCars_Vehicles] -- external table name 
GO

Leave a Comment