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没有错误信息。
ok成功修复:-)
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参数无法修复所有的错误;
参考文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;298806
http://support.microsoft.com/default.aspx?scid=kb;en-us;284440
http://support.microsoft.com/default.aspx?kbid=320434
http://support.microsoft.com/default.aspx?scid=kb;en-us;828339
http://support.microsoft.com/default.aspx?scid=kb;en-us;308795