关闭

无语,遭遇: Error: 605, Severity: 21, State: 3

5792人阅读 评论(2) 收藏 举报
分类:

最近遇到一个严重错误

Error: 605, Severity: 21, State: 3.
Attempt to fetch logical page (1:xxxxx) in database 2 failed. It belongs to allocation unit xxxxxnot to xxxxx


.严重级别 21, 看起来非常吓人,根据联机帮助对该错误的描述说明

http://technet.microsoft.com/zh-cn/library/aa337419.aspx

此错误通常表示指定数据库中的页或分配已损坏。 SQL Server 在访问页链接或使用索引分配映射 (IAM) 读取属于某个表的页时,检测到此损坏。分配给某个表的所有页必须属于与该表相关联的分配单元中的一个。如果页眉中包含的分配单元 ID 与该表相关联的分配单元 ID 不匹配,将引发此异常。 错误消息中列出的第一个分配单元 ID 是页眉中显示的 ID,而第二个分配单元值则是与表相关联的 ID

数据损坏错误

严重级别为 21 表示可能存在数据损坏。 可能的原因包括损坏的页链、损坏的 IAM 或该对象的 sys.objects目录视图中存在无效条目。 这些错误通常由硬件或磁盘设备驱动程序故障而引起。

-----------------------------------------------------------------------------------

郁闷的是,服务器的工作看起来是好的,虽然出错的时候连续了一堆,但是受影响的程序似乎就只有一个,而且遍寻系统也没有发现其他异常。

一边申请IT的同胞深入检查硬件,另一边遍寻该错误相关的信息

由于故障只出在tempdb(错误信息中有 in database 2),然后发现了这个

http://support.microsoft.com/kb/960770/zh-cn

文章编号:960770 - 最后修改: 2009123 - 修订: 2.1

这篇文章中的信息适用于:

  • Microsoft SQL Server 2008Standard

  • Microsoft SQL Server 2008Developer

  • Microsoft SQL Server 2008Enterprise

  • Microsoft SQL Server 2008Workgroup

  • Microsoft SQL Server 2008Web

     

我用的是 SQL 2008 R2, 这个文章也很古老了,怎么想也觉得这个问题应该已经修复了,但最终的结果令我很郁闷,按照这个文章中提到的,将临时表的定义改掉后,问题不再出现。

(简单测试了一下,这个问题无法简单重现,所以也不好确定其他版本是否存在)





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1279131次
    • 积分:14875
    • 等级:
    • 排名:第816名
    • 原创:178篇
    • 转载:9篇
    • 译文:0篇
    • 评论:881条
    最新评论