数据库corruption之后。。。

aoeiuv 2004-09-29 05:35:38
某个数据库corruption之后(attempt to fetch logical page...),用msdn上的方法dbcc checktable,说那个问题表0 allocation error and 1 consistency error。然后用dbcc checkdb repare_allow_data_loss修复。
现在想请问的是:
1. 何谓allocation error?
2. 何谓consistency error?
3. 用repare_allow_data_loss修复后,如何知道到底有无data loss?看起来行数没变,如果有loss的话,应该也是某些column损失了,那么到底哪行的数据loss了?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
General521 2004-10-02
  • 打赏
  • 举报
回复
allocation error 在磁盘上的物理分配错误.
consistency error 连接错误.
由于磁盘上的物理分配错误导致连接错误.


repare_allow_data_loss执行后系统是否提示丢失了数据.
推荐使用 repare_rebuild 他的安全性比较高.
rouqu 2004-10-02
  • 打赏
  • 举报
回复
DBCC CHECKDB (DBNAME,REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD)

REPAIR_ALLOW_DATA_LOSS 执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。

1.索引和数据页是否已正确链接。
2.索引是否按照正确的顺序排列。
3.各指针是否一致。
4.每页上的数据是否均合理。
5.页面偏移量是否合理。

----BOL----
feeling_68 2004-09-30
  • 打赏
  • 举报
回复
学习
aoeiuv 2004-09-30
  • 打赏
  • 举报
回复
有没有人能提供更详细的解释?
还有,这个错误一直发生在某一个database上,每个月都会发生,该server的其他database都没有这个情况。而且里面的tables没有index,PK,FK。到底错误的根源是什么呢?硬盘扫描下来没有问题
netcoder 2004-09-29
  • 打赏
  • 举报
回复
我想就是页的错误
数据页用的是双向链表
A页 的下一页 是B页
但在B里面,却标明上一页是 C,而不是A

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧