症状
请考虑以下情况:
-
具有 Microsoft SQL Server 日志传送或备份/还原设置两台服务器之间。
-
主数据库有其事务日志文件 (.ldf) 存储在磁盘上具有"字节每个物理扇区"设置为 512 字节。
-
执行事务日志备份的数据库,然后再通过使用辅助数据库中的待机选项来恢复。
-
辅助数据库事务日志文件 (.ldf) 位于有"字节每个物理扇区"设置为 4096 字节的磁盘上。
在这种情况下,还原操作将失败,并返回以下错误消息:
错误: 9004,严重性: 16,状态: 6。 处理数据库的数据库名称的日志时出错。如果可能,请从备份还原。如果备份不可用,则可能需要重新生成日志。
发生此错误后,进入辅助数据库置疑状态。
解决方案
累积更新
第一次 SQL Server 以下累积更新中修复此问题:
注意:安装此更新后,必须启用跟踪标志 3057 以启用此修补程序。若要启用跟踪标志 3057,参见跟踪标记 (事务处理 SQL) Microsoft 开发人员网络 (MSDN) 的网站上。
SQL Server 的每个新累积更新包含的所有修补程序和安全修补程序附带的以前的累积更新。为 SQL Server,查看最新的累积更新:
请注意对于 SQL Server 2008 R2 SP3 实例,您需要将服务器升级到最新的安全更新,网址:
SQL Server 2008 R2 sp2 修补程序可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。如果此修复程序可供下载,则在此知识库文章顶部"提供修补程序下载"部分。如果未显示此部分,将申请提交到 Microsoft 客户服务和支持,以获取此修复程序。注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support注意:"修补程序下载可用"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。
解决方法
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。若要解决此问题,请使用以下解决方法之一:
-
将事务日志文件在目标位置移到具有"字节每个物理扇区"设置为 512 字节的驱动器。注意:备用文件仍位于有"字节每个物理扇区"设置为 4096 字节的驱动器。
-
如果不使用备用选项还原日志备份。而不是待机选项,请使用还原操作过程中的与不恢复选项。
更多信息
Fsutil 命令行实用程序可用于确定"字节每个物理扇区"值。如果此参数不是输出中看到的您必须应用在KB982018中指定的修补程序。要验证您的驱动器的类型,请执行以下步骤:
-
在提升的命令提示符下运行以下命令:Fsutil fsinfo ntfsinfo x : 注意:在此命令中, < x >表示要检查的驱动器。
-
使用"每个扇区的字节"和"字节每个物理扇区"的值来确定您拥有的驱动器的类型。若要执行此操作,请使用下表。
"每个扇区的字节数"的值
"每个物理扇区的字节数"的值
驱动器类型
4096
4096
4k 本机
512
4096
高级的格式 (也称为 512E)
512
512
512 字节本机