MSSQLSERVER_2579

详细信息

产品名称

SQL Server

产品版本

10.50

产品内部版本号

 

事件 ID

2579

事件源

MSSQLSERVER

组件

SQLEngine

符号名称

DBCC_EXTENT_OUT_OF_RANGE

消息正文

表错误:对象 ID O_ID,索引 ID I_ID,分区 ID PN_ID,分配单元 ID A_ID(类型为 TYPE)中的区 P_ID 超出了此数据库的范围。

解释

P_ID 是格式为 (filenum:pageinfile) 的 PageID。此区的 pageinfile 大于数据库中文件 (filenum) 的物理大小。此区被标记为在指示的分配单元 ID 的 IAM 页中进行分配。

用户操作

查找硬件故障

运行硬件诊断并更正任何问题。也可以通过检查 Microsoft Windows 系统和应用程序日志以及 SQL Server 错误日志来查看是否存在由硬件故障导致的错误。解决这些日志中包含的所有与硬件相关的问题。

如果不停地遇到数据损坏问题,请尝试替换不同的硬件组件以查出问题所在。进行检查以确保系统未启用磁盘控制器上的写缓存。如果您怀疑是写缓存出现问题,请与硬件供应商联系。

最后,您可能会发现,切换到全新的硬件系统是解决问题的最佳途径。此切换操作可能包括重新格式化磁盘驱动器和重新安装操作系统。

从备份还原

如果出现的问题与硬件无关,并且您确信有可用的干净备份,请从备份中还原数据库。

运行 DBCC CHECKDB

如果不存在干净的可用备份,请运行不带 REPAIR 子句的 DBCC CHECKDB 以确定损坏程度。建议使用 DBCC CHECKDB 的 REPAIR 子句。然后,运行具有相应 REPAIR 子句的 DBCC CHECKDB 以修复损坏。

注意事项注意

如果您不确定运行带有 REPAIR 子句的 DBCC CHECKDB 会对数据造成何种影响,请在运行该语句前与您的主要支持提供商联系。

如果运行具有 REPAIR 子句的 DBCC CHECKDB 无法解决存在的问题,请与主要支持提供商联系。

运行 REPAIR 选项的结果

运行 REPAIR 将导致从 IAM 页释放区。

注意事项注意

此修复可能会导致数据丢失。