【发布时间】:2023-03-23 02:03:01
【问题描述】:
我有两个要合并的表
表 A
| COL A | COL B | COL C |
|---|---|---|
| 1 | 2 | value |
| 2 | 2 | value |
表 B
| COL A | COL B | COL C |
|---|---|---|
| 1 | 2 | value |
| 2 | 2 | newvalue |
合并 SQL
MERGE INTO dbo.TableA AS target
USING dbo.TableB AS source
ON
(
target.ColA = source.ColA AND
target.ColB = source.ColB
)
WHEN MATCHED THEN
UPDATE SET
target.COLC = source.COLC
WHEN NOT MATCHED THEN
INSERT (COLA, COLB, COLC)
VALUES (source.COLA, source.COLB, source.COLC);
每当我运行上述代码时,我的数据库(Azure 突触,专用池)都会引发以下错误,然后停止响应大约 20 秒。
“从服务器接收结果时发生传输级错误。(提供者:TCP Provider,错误:0 - 指定的网络名称不再可用。)”
我怀疑它与合并的更新部分有关。因为我第一次运行语句 (表A中没有任何数据)它工作得很好并插入了两行。但是如果我再次运行它会失败并出现传输级错误
【问题讨论】:
-
建议您联系客服。服务器进程有可能正在转储并关闭连接。 (可能是由于错误)
标签: azure azure-synapse