SQL Server 2019升级后插入重复行问题求助(兼容级150)
SQL Server 2019兼容级别150下跨库INSERT重复插入问题(仅索引禁用时触发)
问题现象
- 测试环境从SQL Server 2016就地升级至2019,涉及的两个数据库兼容级别均设置为150
- 执行跨库关联的INSERT语句时,部分行被重复插入次数可达60次;相同逻辑在SQL Server 2016中仅插入唯一数据列表
- 将数据库兼容级别降至130后,重复插入问题消失
- 仅在索引禁用时触发该问题:启用索引、或给SELECT部分设置
MAXDOP 1时,无重复插入情况 - 单独查询对应重复数据的记录时,仅返回1条结果
问题SQL语句
INSERT INTO TableA (ColumnA, ColumnB, ColumnC) SELECT A.ColumnA, A.ColumnB, B.ColumnB FROM TableA A INNER JOIN TableB B ON A.ColumnD = B.ColumnD WHERE A.ColumnE = 2
验证查询语句
SELECT A.ColumnA, A.ColumnB, B.ColumnB FROM TableA A INNER JOIN TableB B ON A.ColumnD = B.ColumnD WHERE A.ColumnE = 2 AND A.ColumnA = 2342342 AND B.ColumnB = 9228382
已尝试的无效操作
- 安装所有可用的累积更新(CU)
- 重建索引
- 更新/重建统计信息
当前状态
问题可稳定复现,已向微软提交支持工单
内容的提问来源于stack exchange,提问作者TheSQLGuy
相关产品推荐
相关产品推荐

