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