Подключение к Azure Synapse SQL по требованию приводит к ошибке syscharsets is not supported

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

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

Connection Test via ADO.NET -> success

После этого я подключил инструмент бизнес-аналитики, который поддерживает только ODBC.

Connection Test via ODBC -> failed

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

Соединение ODBC с компонентом SQL On-Demand привело к ошибке соединения "syscharsets is not supported".

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

Спасибо.


person Mister K    schedule 10.07.2020    source источник


Ответы (1)


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

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

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

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

В качестве примера запустите в пуле SQL следующее:

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";

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

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

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

В случае рабочей области по запросу для выполнения запросов SQL по запросу рекомендуются следующие инструменты: Azure Data Studio и Azure Synapse Studio.

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

Ищите Edition:

SERVERPROPERTY: Edition

И для EngineEdition:

СВОЙСТВО СЕРВЕРА: EngineEdition

Дополнительная информация: поддерживаемые драйверы и строки подключения (Ссылка).

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

person Mike Ubezzi MSFT    schedule 03.08.2020
comment
Спасибо, Майк, за то, что поделился этими подробностями. Фактически не осознавал, что сторонние инструменты не поддерживаются на 100% на данном этапе. К сожалению, это означает, что SQL On-Demand нельзя использовать ни с одним инструментом бизнес-аналитики, кроме Microsoft Power BI. - person Mister K; 08.09.2020