Есть ли способ создать связанный сервер из базы данных Azure SQL в PostgreSQL? - PullRequest
0 голосов
/ 05 марта 2020

Я провел некоторое исследование, и мне еще предстоит найти решение по этому вопросу. Кто-нибудь знает, возможно ли вообще создать связанный сервер из базы данных Azure SQL, чтобы подключить его к базе данных PostgreSQL?

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

1 Ответ

1 голос
/ 06 марта 2020

Да, вы правы.

Azure SQL база данных (одна база данных) не поддерживает связанный сервер . Мы не можем создать связанный сервер с любым другим сервером.

enter image description here

Я нашел другой способ, который может помочь вам подключиться к Postgresql.

Пожалуйста, обратитесь к этому руководству: Подключитесь к PostgreSQL в качестве внешнего источника данных, используя PolyBase :

Используйте драйвер CData ODB C для PostgreSQL и PolyBase для создать внешний источник данных на SQL сервере 2019 с доступом к действующим PostgreSQL данным.

Создание главного ключа шифрования

Выполнить следующая команда SQL для создания нового главного ключа 'ENCRYPTION' для шифрования учетных данных для внешнего источника данных.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';

Создание базы данных учетных данных

Выполните следующую команду SQL, чтобы создать учетные данные для внешнего источника данных, подключенного к данным PostgreSQL.

CREATE DATABASE SCOPED CREDENTIAL postgresql_creds
WITH IDENTITY = 'username', SECRET = 'password';

Создать внешний источник данных для PostgreSQL

Выполните следующую команду SQL, чтобы создать внешний источник данных для * 10 66 * с PolyBase, с использованием DSN и учетных данных, настроенных ранее.

CREATE EXTERNAL DATA SOURCE cdata_postgresql_source
WITH ( 
  LOCATION = 'odbc://SERVERNAME[:PORT]',
  CONNECTION_OPTIONS = 'DSN=CData PostgreSQL Sys',
  -- PUSHDOWN = ON | OFF,
  CREDENTIAL = postgresql_creds
);

Создание внешних таблиц для PostgreSQL

Оператор для создания внешней таблицы на основе a PostgreSQL Заказы будут выглядеть примерно так:

CREATE EXTERNAL TABLE Orders(
  ShipName [nvarchar](255) NULL,
  ShipCity [nvarchar](255) NULL,
  ...
) WITH ( 
  LOCATION='Orders',
  DATA_SOURCE=cdata_postgresql_source
);

Я не могу проверить это для вас, потому что у меня нет PostgreSQL.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...