你目前正处于脱机状态,正在等待 Internet 重新连接

修复: 数据库损坏,如果 SQL Server 2008年中的分区表上启用数据压缩

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 2548593
Microsoft 将 Microsoft SQL Server 2008年修补程序分发作为一个可下载的文件。修补程序是累积性的因为每个新版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2008 修补程序版本。
症状
当对一个已启用 Microsoft SQL Server 2008年中的数据压缩的分区表运行查询时,可能会出现数据库损坏。发生此问题时,SQL Server 错误日志文件中记录类似于以下错误消息:
<date time=""> <spid number="">错误: 3314,严重性: 21,状态: 4。</spid></date>

<date time=""> <spid number="">在还原的数据库<database>中记录的操作,日志记录 ID (293790:15039:64) 在出现错误。通常情况下,特定故障记录先前为在 Windows 事件日志服务时出错。从备份还原的数据库或文件,或修复数据库。</database></spid></date>

<date time=""> <spid number="">数据库<database>是由于错误 5242 例程 XdesRMReadWrite::RollbackToLsn 中停电而关闭。对于非快照数据库后数据库的所有连接都将立即都中止将尝试重新启动。</database></spid></date>

<date time=""> <spid number="">错误: 9001,严重性: 21,状态: 1。</spid></date>

<date time=""> <spid number="">数据库 '<database>' 的日志不可用。请检查事件日志以了解相关的错误消息。解决所有错误,然后重新启动数据库。</database></spid></date>

<date time=""> <spid number="">错误: 9001,严重性: 21,状态: 1。</spid></date>

<date time=""> <spid number="">数据库 '<database>' 的日志不可用。请检查事件日志以了解相关的错误消息。解决所有错误,然后重新启动数据库。</database></spid></date>

<date time=""> <spid number="">错误: 9001,严重性: 21,状态: 5。</spid></date>
此外,SQL Server 日志文件夹中会生成一个小型转储文件。

如果您正在运行 SQL Server 2008 R2,则必须安装累计更新 7 SQL Server 2008 R2,若要解决此问题。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2504090 修复: 访问冲突时您将数据插入到新的分区的分区表后 SQL Server 2008 R2 中删除表中的列

请注意 修补程序 2504090 解决进行同样的原因,对于此问题的其他症状。因此,您可能还会遇到修补程序 2504090 的文章中提到的症状。
原因
因为 SQL Server 用来将数据插入到不同的分区的访问器不正确地识别的元数据更改,会出现此问题。

当数据插入一列被删除后将创建一个新分区时,为空的列,为新分区的最大数量可能是一个曾经为旧分区内的数字。

解决方案

累积更新信息

SQL Server 2008 Service Pack 1

此问题的修补程序是首次推出累积更新 15 中的 SQL Server 2008 Service Pack 1。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2555406 累积更新包 15 个 SQL Server 2008 Service Pack 1
请注意 生成具有累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2008 修补程序版本。Microsoft 建议您考虑应用最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365 SQL Server 2008年版本发布后发布 SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008年修补程序会创建特定的 SQL Server 服务包。您必须将 SQL Server 2008 Service Pack 1 修补程序应用于 SQL Server 2008 Service Pack 1 的安装。默认情况下任何 SQL Server service pack 中提供的修补程序包含在下一步的 SQL Server service pack。

SQL Server 2008 Service Pack 2

此问题的修补程序是首次推出的 SQL Server 2008 Service Pack 2 的累积更新 4 中。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2527180 对于 SQL Server 2008 Service Pack 2 的累积更新包 4
请注意 生成具有累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2008 修补程序版本。Microsoft 建议您考虑应用最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909 SQL Server 2008年生成 SQL Server 2008年发布后发布
Microsoft SQL Server 2008年修补程序会创建特定的 SQL Server 服务包。您必须将 SQL Server 2008 Service Pack 2 修补程序应用于 SQL Server 2008 Service Pack 2 的安装。默认情况下任何 SQL Server service pack 中提供的修补程序包含在下一步的 SQL Server service pack。
替代方法
要解决此问题,请重建所有分区的分区表后放的某一列。

请注意 此问题可能会复发新列将被删除并创建新的分区时,如果未安装此修补程序。

状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
参考
有关数据压缩的详细信息,请访问下面的 MSDN 网站:
SQL Server 为增量的处理模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 增量的处理模型都可用从 SQL Server 团队提供的报告的问题的修补程序
有关命名架构的 SQL Server 更新的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明

警告:本文已自动翻译

属性

文章 ID:2548593 - 上次审阅时间:07/18/2011 20:29:00 - 修订版本: 2.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 Integration Services

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2548593 KbMtzh
反馈
tml>