zjcxc(邹建)的Blog - SQL Server

引用或者转载本BLOG的文章请注明原作者和出处,并保留原文章中的版权信息。谢谢!...

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

最近遇到一个严重错误

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

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





阅读更多
上一篇如何使 SQL Server高效 -- 疑难(ITPUT 讨论汇总)
下一篇初步了解更新锁(U)与排它锁(X)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭