修复: 数据库数据文件可能会错误地标记为稀疏或 SQL Server 2008 SQL Server 2008 R2 中的物理文件被标记为不稀疏文件系统中即使

文章翻译 文章翻译
文章编号: 2574699 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

Microsoft 将分发 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008年修补程序修补了一个可下载的文件。修补程序是累积性的因为每个新版本包含的所有修补程序和所有安全修补程序附带的以前的 SQL Server 2008 R2 或 SQL Server 2008年修补都程序版本。

症状

Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008年可能数据库数据文件时将标记为稀疏甚至文件系统中的物理文件标记为不稀疏

备注
  • 以确定是否数据库数据文件将被标记为稀疏在 SQL Server 元数据中,运行下面的语句,然后检查是否Is_Sparse列设置为非零值,在结果集中:
    Use
    <database name>
    select is_sparse , physical_name from sys.database_files
  • 要查询文件系统中的物理文件的状态,请运行下面的 Windows 命令后数据库处于脱机状态:
    fsutil sparse queryflag 
    <files path>\<database file>
    如果您收到以下输出,文件将被标记为稀疏文件系统中:
    此文件被设为稀疏。
  • SQL Server 元数据和文件系统元数据都必须标记为稀疏只有数据库数据文件的数据库快照的一部分。

原因

由于文件系统错误地标记为稀疏的整个数据库数据文件后最初被标记为删除稀疏的另一种流,则会出现此问题。DBCC CHECKDB命令结束时,将删除备用流。

备注
  • 内部数据库快照的使用是所使用的命令的DBCC CHECKDB系列的 NTFS 功能。在运行DBCC命令时,数据库引擎创建的数据库快照的备用流,并将其置于事务的一致状态。对备用流, DBCC命令运行检查。DBCC命令完成后的另一种流将被丢弃。
  • 导致此问题的设计推出 Windows Server 2003 的 Windows 卷级别备份用于备份数据库文件中。SQL Server 元数据存储在系统表中的稀疏属性的数据文件的副本。但是,SQL Server 不会更新的Is_Sparse信息后稀疏的属性从文件系统中删除。
  • 之后您将数据库从 Windows Server 2003 迁移到更高版本的 Windows 操作系统的系统,也会发生此问题。

    例如,您将数据库从 Windows Server 2003 迁移,Windows Server 2008 或 Windows Server 2008 R2。

解决方案

若要解决此问题在 SQL Server 2008 R2 或 SQL Server 2008年中,请应用以下修补程序,然后使数据库联机。数据库联机时,SQL Server 会检查是否物理数据库文件的元数据标记为稀疏文件系统中。如果它被标记为不稀疏,SQL Server 元数据将被更新。

注意从文件系统中删除稀疏的属性、 复制的数据库文件,并将数据库文件的新副本。有关此过程的详细信息,请访问下面的 MSDN 网站:
如何从文件系统中删除稀疏的属性

累积更新信息

SQL Server 2008 Service Pack 3

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

SQL Server 2008 Service Pack 1

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

SQL Server 2008 R2 CU9

SQL Server 2008 R2 的累积更新包 9 年首次发布此问题的修补程序。有关如何获取此累积更新包的 SQL Server 2008 R2 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567713 SQL Server 2008 R2 的累积更新包 9
注意生成具有累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包括以前的 SQL Server 2008 R2 的修补程序版本。我们建议您考虑应用最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 SQL Server 2008 R2 生成 SQL Server 2008 R2 发布后发布

SQL Server 2008 R2 Service Pack 1 CU2

此问题的修补程序是累积更新包 2 中首次推出。有关如何获取此累积更新包的 SQL Server 2008 R2 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567714 累积更新包 2 SQL Server 2008 R2 1
注意生成具有累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序以前的 SQL Server 2008 R2 SP1 中包含的修补程序版本。我们建议您考虑应用最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 SQL Server 2008 R2 版本发布后发布 SQL Server 2008 R2 Service Pack 1

修补程序信息

可以从 Microsoft 获得支持的修补程序。但是,此修补程序用于解决本文中描述的问题。此修补程序仅适用于系统遇到本文中描述的问题。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。

如果此修复程序可供下载,没有在此知识文库文章顶部"提供修补程序下载"部分。如果此部分不会出现,请与 Microsoft 客户服务和支持,以获取此修复程序。

注意如果出现其他问题或是否需要任何故障诊断,您可能必须创建一个单独的服务请求。将正常收取费用将应用于其他支持问题和事项,不为此特定的修补程序。Microsoft 客户服务和支持电话号码的或者创建一个单独的服务请求的完整列表,请访问以下 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意在"可用的修补程序下载"窗体显示修补程序所用的语言。如果您看不到您的语言,则是一个修补程序不能用于该语言。

系统必备组件

若要应用此修补程序,您必须安装 SQL Server 2008 R2。

重新启动要求

您不必在应用此修补程序后,重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

文件信息

此修补程序的全球版本具有的文件属性 (或更新的文件属性) 下表中列出。日期和时间,这些文件列出了以协调通用时间 (UTC)。当您查看文件信息时,它将转换为本地时间。若要了解 UTC 与本地时间之间的时差,请使用 时区 在选项卡 日期和时间 在控制面板中的项。

收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
安装数据库2009.100.1800.0121,829,2162011 年 7 月 08 日11: 55IA-64
安装数据库2009.100.1800.062,027,6162011 年 7 月 08 日12: 28x64
安装数据库2009.100.1800.042,911,5842011 年 7 月 08 日13: 22x86

状态

Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

更多信息

下表提供了有关产品或自动检查此条件,规则将计算所依据的 SQL Server 产品的版本和 SQL Server 的实例上的工具的详细信息。
收起该表格展开该表格
规则的软件规则标题规则说明该规则计算所依据的产品版本
系统中心顾问SQL Server 的数据库文件标记为稀疏文件
系统中心顾问检查此 SQL Server 实例是否包含数据库文件都标记为稀疏。只有数据库快照文件应标记为文件。如果正常的数据库文件被标记为稀疏,顾问会生成警报。审查程序依赖于目录视图 sys.master_files 中的 is_sparse 列。查看审查警报"收集的信息"部分中提供,并检查在操作系统级别为受影响的文件稀疏状态的详细信息。清除 OS 稀疏状态后,您可以应用刷新 SQL Server 元数据,并使用操作系统设置同步本文中介绍的修复程序。

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

参考

有关 DBCC 命令的详细信息,请访问下面的 MSDN 网站:
有关 DBCC 命令的一般信息
有关Fsutil语句的详细信息,请访问下面的 MSDN 网站:
Fsutil 语句的一般信息
有关 Windows Server 2003 中的此问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
973886 在 64 位版本的 Windows XP SP2 中或在 Windows Server 2003 SP2 中删除具有稀疏属性的所有数据流时您不能在 NTFS 文件系统中恢复较大的文件
932021 当您运行"chkdsk"命令一起使用时的错误消息"/ v"基于 Windows Server 2003 的计算机上切换:"Correcting 稀疏文件记录段 ' <number>'</number>

属性

文章编号: 2574699 - 最后修改: 2012年4月1日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
关键字:?
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2574699 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 2574699
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com