0

我在启用了 polybase 的 Docker 容器中安装了 SQL Server 2019,并且我正在连接到启用了 polybase 的 SQL Server 2019 On Premise。我在 Docker -SQL Server 中创建了外部表。

我还允许 polybase 导出,重新启动本地 sql server 2019。

EXEC sp_configure 'allow polybase export', 1;  
RECONFIGURE 

选择工作正常。但是当我尝试插入

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

错误:

在第 53 行开始执行查询
消息 46519,级别 16,状态 16,行
DML 操作不支持外部表。
总执行时间:00:00:00.107

4

1 回答 1

0

外部表是只读的。正如错误告诉您的那样,您不能对它们执行 DML 操作(例如SELECTUPDATE等)。

这也记录在文章CREATE EXTERNAL TABLE (Transact-SQL):Limitations and Restrictions 中

在外部只允许使用这些数据定义语言 (DDL) 语句

表:

  • 创建表和删除表
  • 创建统计和删除统计
  • 创建视图和删除视图

不支持的构造和操作:

  • 外部表列的 DEFAULT 约束
  • 删除、插入和更新的数据操作语言 (DML) 操作

强调我的。

于 2020-03-10T19:20:02.220 回答