症状

假设你尝试使用大容量复制程序(BCP)实用工具将数据从 Microsoft SQL Server 2008 R2 实例导出到数据文件。 但是,当 BCP 实用工具提取多行数据时,将发生错误。 例如,在 SQL Server 错误日志中生成以下 "824" 错误:

日期时间 spid51 错误:824,严重性:24,状态:2。 SQL Server 的日期时间 spid51 检测到基于逻辑一致性的 i/o 错误:不正确的 pageid (应为 1:43686; 实际0:0)。 在读取页面(1:43686)期间,在文件 "FilePath\Filename" 的偏移0X0000001554C000 处的数据库 ID 23 中出现此错误。 SQL Server 错误日志或系统事件日志中的其他消息可能提供更多详细信息。 这是威胁数据库完整性的严重错误情况,必须立即更正。 完成完整数据库一致性检查(DBCC CHECKDB)。 此错误可能由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

在这种情况下,BCP 实用工具错误地返回值 "0",这表示数据导出操作成功。注意此问题仅影响 BCP 实用工具。 其他批量插入方法正确处理错误消息。

解决方案

累积更新信息

SQL Server 2008 R2 Service Pack 2 (SP2)的累积更新5

此问题的修补程序首次在累积更新5中发布。有关如何获取适用于 SQL Server 2008 R2 S2008 R2 SP2 的累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2797460 SQL Server 2008 R2 的累积更新程序包5(R2 S2008 R2 SP2)注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 S2008 R2 SP2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息

有关如何对 SQL Server 中的 "824" 错误进行故障排除的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2015756 如何解决 SQL Server 中的 Msg 824有关如何在 Microsoft SQL Server 2008 R2 中使用 BCP 实用工具的详细信息,请转到以下 MSDN 网站:

如何在 SQL Server 2008 R2 中使用 BCP 实用工具

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。