KB4013851 - 修复:在 SQL Server 2016 Standard 和 Express 版本中,将包含默认值的 NOT NULL 列添加到非空聚集列存储索引时出错

应用对象
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

症状

假设您已经安装了 Standard 版或 Express 版的 Microsoft SQL Server 2016 的 Service Pack 1 (SP1) 。 例如,当尝试将具有默认值的 NOT NULL 列添加到非空聚集列存储索引时,例如,使用 ALTER TABLE ... 添加列 ... 非 NULL ... 默认 ... 语句,将显示类似以下内容的错误消息。

注意

  • 消息 515,级别 16,状态 4
  • 无法将值 NULL 插入“列名称”列<、表“表>名称<”;列不允许空>值。 alter table to add column 语句失败。

备注SQL Server 2016 企业版中不会出现此问题。

解决方法

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

SQL Server 2016 SP1 累积更新 2

关于 SQL Server 的累积更新

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

SQL Server 2016 的最新累计更新

状态

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

参考资料

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