症状
假设你有一个包含序列对象的数据库备份,该对象是使用 Microsoft SQL Server 2012 中的 cache 选项创建的。 然后,尝试从备份还原数据库。 在这种情况下,你可能会收到以下错误消息:
SQL 错误2627:违反了唯一键约束 ' %1! '。 无法在对象 ' %1! ' 中插入重复键。
原因
出现此问题的原因是,当你执行数据库备份时,缓存序列刷新不正确。 这使缓存序列的值比磁盘上的值大。 在这种情况下,将触发错误2627。
解决方案
累积更新信息
SQL Server 2012 的累积更新 4 Service Pack 1
此问题的修补程序首次在累积更新4中发布。有关如何获取此累积更新包的 SQL Server 2012 Service Pack 1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2833645 SQL Server 2012 的累积更新程序包 4 Service Pack 1注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 在发布 SQL Server 2012 Service Pack 1 之后发布的 SQL Server 2012 版本
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。