Polybase SQL Сервер 2019 в контейнере на SQL Сервер 2019 OnPremise - вставка во внешнюю таблицу не работает - PullRequest
0 голосов
/ 10 марта 2020

У меня есть SQL Сервер 2019 в Docker Контейнер с включенной многоосновной базой, и я подключаюсь к SQL Сервер 2019 в помещении с включенной многоосновной базой. Я создал внешнюю таблицу на сервере Docker - SQL.

Я также разрешил экспорт polybase, перезапустил локальный sql сервер 2019.

EXEC sp_configure 'allow polybase export', 1;  
RECONFIGURE 

SELECT работает нормально. но когда я пытаюсь вставить

INSERT INTO Student 
select 3, 'Amaya', 'A+'

Ошибка:

Начинается выполнение запроса в строке 53 Msg 46519, Уровень 16, Состояние 16, Линия Операции DML не поддерживаются с внешними таблицами. Общее время исполнения: 00: 00: 00.107

1 Ответ

0 голосов
/ 10 марта 2020

Внешние таблицы только для чтения. Как показывает ошибка, вы не можете выполнять над ними операции DML (например, SELECT, UPDATE, et c).

Это также задокументировано в статье CREATE EXTERNAL ТАБЛИЦА (Transact- SQL): ограничения и ограничения :

Только эти операторы языка определения данных (DDL) допускаются во внешних

таблицах:

  • CREATE TABLE и DROP TABLE
  • CREATE STATISTICS и DROP STATISTICS
  • CREATE VIEW и DROP VIEW

Конструкции и операции не поддерживается :

  • Ограничение DEFAULT для столбцов внешней таблицы
  • Операции удаления, вставки и обновления языка манипулирования данными (DML)

Акцент мой.

...