使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

假设你有一个 UPDATE 语句,该语句使用 Microsoft SQL Server 2014、2016或2017中的 $PARTITION 关键字引用不存在的分区函数。 例如,

更新 TableNameColumnName= "xyz",其中 $PARTITION。NonExistingPartitionFunction (ColumnName) = 1

在这种情况下,SQL Server 不会执行更新或返回错误消息,以指示 NonExistingPartitionFunction 对象不存在。 但是,从用户角度看,虽然 UPDATE 语句已成功执行,但实际上它失败了。

原因

执行批处理时,SQL Server 可能会执行延迟的名称解析(DNR)。 在此过程中,SQL Server 在遇到不存在的对象时不会立即产生错误,并且预期该对象将在执行引用该对象的语句之前由模块或批处理创建。 对于分区函数,SQL Server 不会正确处理 DNR。

更多信息

有关 DNR 的详细信息,请参阅 延迟名称解析

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

       SQL Server 2016 SP1 的累积更新8 

       SQL Server 2017 的累积更新4 

       SQL Server 2014 SP2 的累积更新9

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

SQL Server 2016 的最新累计更新

SQL Server 2017 的最新累计更新

SQL Server 2014 的最新累积更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×