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

一次SQL Server 2000修复实践

 2006-08-06 09:16:17 来源:WEB开发网   
核心提示: Server: Msg 8956, Level 16, State 1, Line 1Index row (1:26315:23) with values (PLU_ID = '6922825200240' and PRD_AGGR_ID = 10006 and EVNT_

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

Index row (1:26315:23) with values (PLU_ID = '6922825200240' and PRD_AGGR_ID = 10006 and EVNT_ID = NULL and RGST_MDE = 0 and SUBPRD_NBR = 0 and STR_ID = 12 and PRD_AGGR_ID = 10006 and SUBPRD_NBR = 0 and STR_ID = 12 and PLU_ID = '6922825200240' and EVNT_ID = NULL and RGST_MDE = 0) points to the data row identified by ().

根据MSDN上的说明:

This problem does not cause any data or index corruption. The problem is in the metadata which is corrected only by dropping and re-creating the indexes.

这些问题不会引起数据或索引的损坏,这些问题的元数据是正确的,只是删除再重新建立索引。

看来问题是修改了。

再次运行DBCC CHECKDB('POS_DB'),再次运行:DBCC CHECKDB('POS_DB'),message没有错误信息。

成功修复。

4.检查修复后的数据库并且备份数据库

检查DBCC CHECKDB报错的相关表,和没有执行DBCC之前的记录数进行比较,发现有一个表少了40条记录。郁闷。

5.总结

1.RAID5并不能保证SQLSERVER 2000 数据库的数据文件的完整性;

2.SQLERVER 2000的备份程序不验证数据库文件的数据完整性;如果你的数据文件有问题,备份时也不图示;

3.DBCC CHECKDB的repair_allow_data_loss并不是非常安全的,不能修复所有的错误,即使是对不完整页(TORN PAGE)的修复也会着成数据丢失;

4.DBCC CHECKDB的REPAIR_ALLOW_DATA_LOSS参数无法修复所有的错误;

上一页  2 3 4 5 6 7 

Tags:一次 SQL Server

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