27.09.2021

Azure: построение кросс-запросов для различных БД в MS Azure SQL Server

 MS Azure SQL Server с точки зрения взаимодействия с ним крайне похож на классический MS SQL Server и во многих аспектах повторяет функциональность. Однако быстрое и удобное создание linked server пока не доступно в Azure версии. В качестве решение можно воспользоваться способом с подключением внешнего источника данных:

-- Производим очистку данных
DROP EXTERNAL TABLE tblSource
DROP EXTERNAL DATA SOURCE RemoteSource
DROP DATABASE SCOPED CREDENTIAL sourceCredential
DROP MASTER KEY

-- Настраиваем соединение
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your_password';

CREATE DATABASE SCOPED CREDENTIAL sourceCredential
WITH IDENTITY = 'your_login',
SECRET = 'your_password';

CREATE EXTERNAL DATA SOURCE RemoteSource
WITH
(
    TYPE=RDBMS,
    LOCATION='your_server.database.windows.net',
    DATABASE_NAME='your_db_name',
    CREDENTIAL= sourceCredential
);

CREATE EXTERNAL TABLE dbo.tblSource(
    [Id] [int] NOT NULL,
    [Name] [nvarchar](2000) NOT NULL
)
WITH
(
    DATA_SOURCE = RemoteSource
);

-- Производим выборку
SELECT * 
FROM dbo.tblSource

С помощью такой методики вы можете подключаться не только к базам Azure SQL, но и другим поддерживаемым источникам данных.

Комментариев нет:

Отправить комментарий