Подключение к Azure Synapse SQL On-Demand приводит к ошибке «syscharsets не поддерживается» - PullRequest
0 голосов
/ 10 июля 2020

Я запускаю Azure Synapse Analytics, используя SQL Pool и SQL On-Demand Pool . Оба работают в управляемой виртуальной частной сети Azure и для пула SQL, а также для компонента SQL On-Demand были настроены так называемые частные конечные точки.

First I попытался подключиться к обеим частным конечным точкам, используя ADO.NET, который отлично работает.

Connection Test via ADO.NET -> success

После этого я подключил инструмент BI, который поддерживает только ODB C.

Connection Test via ODBC -> failed

В любом случае, подключение ODB C к пулу SQL работает нормально.

Подключение ODB C к компоненту SQL On-Demand привело к ошибке подключения "syscharsets is not supported".

Пробовал уже с различными настройками ODB C безуспешно, есть идеи?

Спасибо.

1 Ответ

0 голосов
/ 03 августа 2020

Я хочу предоставить ответ на ваш запрос, поскольку он касается разницы между Azure Synapse Analytics SQL Pool и SQL On-Demand Workspace :

SQL pool представляет собой набор аналитических c ресурсов, которые предоставляются при использовании Synapse SQL. Размер пула SQL определяется единицами хранилища данных (DWU).

SQL В пуле есть экземпляр SQL Engine, где SQL рабочее пространство по требованию является экземпляр Azure Data Lake с ограниченной T- SQL поддержкой :

SQL по требованию предлагает T- SQL запрашиваемую площадь поверхности, что немного меньше улучшены / расширены в некоторых аспектах, чтобы приспособиться к опыту, связанному с запросами полуструктурированных и неструктурированных данных. Кроме того, некоторые аспекты языка T- SQL не поддерживаются из-за конструкции SQL по запросу, например, функциональность DML в настоящее время не поддерживается.

Пожалуйста, запустите следующее в SQL Pool, например:

USE master;
SELECT  db.name [Database]
,       ds.edition [Edition]
,       ds.service_objective [Service Objective]
  FROM    sys.database_service_objectives   AS ds
  JOIN    sys.databases                     AS db ON ds.database_id = db.database_id;

И следующее в рабочем пространстве по запросу:

/* Script to get full version information */
/* */
SELECT  SERVERPROPERTY('ProductVersion') AS "Product Version", 
    SERVERPROPERTY('ProductLevel') AS "Product Level", 
    SERVERPROPERTY('EngineEdition') AS "Engine Edition", 
    SERVERPROPERTY('Edition') AS "Edition",
    @@Version AS "Version";

With sys.syscharsets ( Transact- SQL) является функцией SQL Engine и рабочей области по запросу, предлагая только интерфейс, подобный T- SQL для запроса структурированных и неструктурированных данных, следующее подчеркивает то, что не поддерживается:

SQL on-demand не имеет локального хранилища, в базах данных хранятся только объекты метаданных. Следовательно, T- SQL, связанный со следующими концепциями, не поддерживается:

  • Таблицы
  • Триггеры
  • Материализованные представления
  • Операторы DDL, кроме связанных с представлениями и безопасностью
  • Операторы DML

«В случае рабочей области по запросу, для выполнения SQL запросов по запросу, рекомендуемые инструменты - это Azure Data Studio и Azure Synapse Studio . "

Подключение клиентских приложений к рабочему пространству по запросу не является уникальным, но не обеспечивают тот же опыт, что и пулы SQL, поскольку пулы SQP - это работающий экземпляр SQL Engine, как определено SERVERPROPERTY .

Ищите Edition:

SERVERPROPERTY:Edition

And for EngineEdition:

SERVERPROPERTY:EngineEdition

Additional information: Supported drivers and connection strings ( Ссылка ).

Информации о сценарии использования подключения клиентских приложений к рабочему пространству по запросу не так много, но если есть дополнительная информация, у вас есть чтобы поделиться, пожалуйста, подробно опишите это.

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