KB4016902 - 修复:在 SQL Server 2016 中使用 SELECT TOP 查询从聚集列存储索引检索数据时发生访问冲突

应用对象
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

症状

假设您已安装 Microsoft SQL Server 2016 Service Pack 1 (SP1) 。 在批处理模式下使用带有非常大的 N (数万或数十万) 的 SELECT TOP N 语句时,会收到访问冲突 (AV) 错误。

解决方法

此问题已在 SQL Server 的累积更新中进行了修复:

SQL Server 2016 SP1 累积更新 3

关于 SQL Server 的累积更新

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2016 的最新累计更新

解决方法

此问题的临时解决方法是从 SELECT 语句中删除关键字 (keyword) TOP,或启用跟踪标志 - TF 9453 以禁用批处理模式。

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语。