症状
假定安装 Microsoft SQL Server 2012年或 Microsoft SQL Server 2008 R2 的计算机上安装下列更新之一︰
-
SQL Server 2008 R2 Service Pack 1 (SP1) 或更高版本的累积更新 6
-
SQL Server 2008 R2 Service Pack 2 (SP2) 或更高版本的累积更新 1
在此情况下,您可以运行要还原 SQL Server 2008 R2 中的数据库还原 FILELISTONLY语句。但是,还原操作将失败。此外,您收到以下错误消息:
3241,级别 16 状态消息 1,第 1 行
<BackupFilePath> 设备上的媒体家族的格式不正确。SQL Server 无法处理该媒体家族。
状态消息 3013,级别 16 1,第 1 行
还原文件列表正在异常终止。
请注意如果在早期版本的 SQL Server 2008 R2 中运行DBCC CHECKDB语句时,您会遇到没有一致性错误,指示备份媒体中的问题。因此,可以在这些早期版本中还原备份。
原因
因为有关 SQL Server 2008 R2 SP1 的累积更新 5 和 SQL 2008 R2 SP2 的累积更新 1 执行数据库完整性验证还原数据库时出现问题。但是,此验证不需要还原 FILELISTONLY语句。
KB 2685132 中描述的修补程序中包含此验证。有关数据库完整性验证的详细信息,请单击下面的文章编号 2685132,以查看 Microsoft 知识库中相应的文章 2685132:
2685132解决︰ 日志传送还原作业将已损坏的事务日志备份还原到辅助数据库运行日志传送备份作业实例的 SQL Server 2008 R2 或 SQL Server 2012年的实例上时
解决方案
累积更新信息
SQL Server 2012年的累积更新 9
累积更新 9 中首次发布此问题的修补程序。有关如何为 SQL Server 2012获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2867319累计更新 SQL Server 2012年包 9注意:因为版本具有累积性,所以每个新修补程序版本包含的所有修补程序和所有安全修复程序都包含上一个 SQL Server 2012 的修补程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2012年生成 SQL Server 2012年发布后发布的2692828
SQL Server 2012 Service pack 1 的累积更新 5
累积更新 5 中首次发布此问题的修补程序。有关如何获取此累积更新包为 SQL Server 2012 Service Pack 1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
2861107累计更新 SQL Server 2012 Service Pack 1 包 5注意:生成是累积性的因为每个新修补程序版本包含的所有修补程序和附带上一个 SQL Server 2012 Service Pack 1 的所有安全修补程序的修补都程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2012年生成 SQL Server 2012 Service Pack 1 发布后发布的2772858
有关累积更新 13SQL Server 2008 R2 SP1
累积更新 13 中首次发布此问题的修补程序。有关如何获取此累积更新包的 SQL Server 2008 R2 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
2855792累计为 SQL Server 2008 R2 SP1 更新程序包 13注意:生成是累积性的因为每个新修补程序版本包含的所有修补程序和附带上一个 SQL Server 2008 R2 SP1 的所有安全修补程序的修补都程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008 R2 生成 SQL Server 2008 R2 Service Pack 1 发布后发布的2567616
SQL Server 2008 R2 sp2 的累积更新 7
累积更新 7 中首次发布此问题的修补程序。有关如何获取此累积更新包为 SQL Server 2008 R2 SP2 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
2844090累计为 SQL Server 2008 R2 SP2 更新程序包 7注意:生成是累积性的因为每个新修补程序版本包含的所有修补程序和了上一个 SQL Server 2008 R2 SP2 中包含的所有安全修补程序的修补都程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008 R2 生成 SQL Server 2008 R2 Service Pack 2 发布后发布的2730301
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
解决方法
若要解决此问题,请连同 CONTINUE_AFTER_ERROR 选项一起运行 RESTORE FILELISTONLY 语句。