Attempt to fetch logical page (1:164360) in database 17 failed. It belongs to allocation unit 72057594328317952 not to 281474980642816.

【1】错误起因

引用自:https://bbs.csdn.net/topics/399021414?page=1#post-414142022

尝试用checkdb 修改该数据库。报错:

收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
再查sql的日志,只有这个:
Attempt to fetch logical page (1:110) in database 17 failed. It belongs to allocation unit 72057594328317952 not to 281474980642816.


【2】据说是某个表的索引有问题了,需要重建下索引。 怎么知道是哪个表出问题呢?

(1)可以先用dbcc page('[数据库名]',1,[PageID],3)获取页面信息, 找到ObjectId的属性值.
(2)然后用select * from sys.objects where object_id=[ObjectId属性值]查得对应的表名.

 

(1)找表名

  

 【3】执行存储过程失败

引用自:https://www.cnblogs.com/kerrycode/p/3876641.html#comment_tip

  

 

说是sql server2008 R2 SP1/SP2 的 bug,都有这个问题;

在临时表中,给临时表创建聚集索引,即可

 

posted @ 2021-02-01 14:42  郭大侠1  阅读(430)  评论(0编辑  收藏  举报