WEB开发网
开发学院数据库MSSQL Server 一次SQL Server 2000修复实践 阅读

一次SQL Server 2000修复实践

 2006-08-06 09:16:17 来源:WEB开发网   
核心提示: CHECKDB found 0 allocation errors and 1 consistency errors in table '(Object ID 26342838)' (object ID 26342838).CHECKDB fixed 0 allocatio

CHECKDB found 0 allocation errors and 1 consistency errors in table '(Object ID 26342838)' (object ID 26342838).

CHECKDB fixed 0 allocation errors and 1 consistency errors in table '(Object ID 26342838)' (object ID 26342838).

这样的信息有很多,并且有“The error has been repaired”的提示。不过到最后还是有这样的信息:

CHECKDB found 0 allocation errors and 19 consistency errors in database 'POS_DB'.

CHECKDB fixed 0 allocation errors and 19 consistency errors in database 'POS_DB'.

再次运行,还是有同样的错误。糟糕:=)看来这种方式是无法修复这样测错误。

失败!!!

再仔细看看SQL SERVER BOL发现CHECKDB还有一个非常有用的参数PHYSICAL_ONLY

PHYSICAL_ONLY

仅限于检查页和记录标题物理结构的完整性,以及页对象 ID 和索引 ID 与分配结构之间的一致性。该检查旨在以较低的开销检查数据库的物理一致性,同时还检测会危及用户数据安全的残缺页和常见的硬件故障。PHYSICAL_ONLY 始终意味着 NO_INFOMSGS,并且不能与任何修复选项一起使用。

再次运行:

DBCC CHECKDB('POS_DB') with NO_INFOMSGS,PHYSICAL_ONLY

然后再运行:

DBCC CHECKDB('POS_DB',repair_allow_data_loss) WITH TABLOCK

这次会返回一些8952.8956的错误信息:

Server: Msg 8952, Level 16, State 1, Line 1

Table error: Database 'POS_DB', index 'POS_REFER.Idx2_POS_REFER' (ID 861246123) (index ID 2). Extra or invalid key for the keys:

上一页  1 2 3 4 5 6 7  下一页

Tags:一次 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接