0

我的帖子

个人中心

设置

  发新话题
1.The operating system returned error 38(Reached the end of the file.) to SQL Server during a read at offset 0x00000ebc78c000 in file 'J:\HISTORY\201610.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.


2.Could not allocate space for object 'dbo.data_1_201611' in database 'HIS' because the 'aa_201611_02' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup

DBCC对HISTORY这个数据库做检测打印有如下报错
Msg 8905, Level 16, State 1, Line 1
Extent (20:274720) in database ID 6 is marked allocated in the GAM, but no SGAM or IAM has allocated it.
Msg 2576, Level 16, State 1, Line 1
The Index Allocation Map (IAM) page (0:0) is pointed to by the previous pointer of IAM page (23:384848) in object ID 0, index ID -1, partition ID 0, alloc unit ID 72057595081326592 (type Unknown), but it was not detected in the scan.
Msg 2575, Level 16, State 2, Line 1
The Index Allocation Map (IAM) page (23:6214987) is pointed to by the next pointer of IAM page (23:6448846) in object ID 0, index ID -1, partition ID 0, alloc unit ID 72057595081326592 (type Unknown), but it was not detected in the scan.
Msg 8969, Level 16, State 3, Line 1
Table error: IAM chain linkage error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 72057595081326592 (type Unknown). The next page for IAM page (0:0) is (23:6214987), but the previous link for page (23:6214987) is (23:6448846).
Msg 2576, Level 16, State 1, Line 1
The Index Allocation Map (IAM) page (0:0) is pointed to by the previous pointer of IAM page (23:6164328) in object ID 0, index ID -1, partition ID 0, alloc unit ID 72057595081392128 (type Unknown), but it was not detected in the scan.
CHECKDB found 5 allocation errors and 0 consistency errors not associated with any single object.




疑问1:出现这种823 824错误是一般是否都是IO子系统的问题?  然后DBCC的打印 The Index Allocation Map (IAM) page (0:0)     为什么0号页会是IAM页?  0号页不应该是header页吗? 是否证明磁盘上的数据已经损坏。    导致问题的根因不知道是啥,求助各位大神。



-- Error 823: Operating System Error
-- How to troubleshoot a Msg 823 error in SQL Server       
-- http://support.microsoft.com/kb/2015755




本帖最后由 UltraSQL 于 2016-12-8 11:43 编辑
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
-- Error 824: Logical consistency-based I/O error
-- How to troubleshoot Msg 824 in SQL Server
-- http://support.microsoft.com/kb/2015756



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
-- Error 825: Read-Retry Required
-- How to troubleshoot Msg 825 (read retry) in SQL Server
-- http://support.microsoft.com/kb/2015757



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
these are the system pages at the beginning of each db file

0 – File header

1 – PFS
2 – GAM
3 – SGAM
6 – DCM
7 – ML



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
引用:
The Index Allocation Map (IAM) page (0:0) is pointed to by the previous pointer of IAM page (23:384848) in object ID 0, index ID -1, partition ID 0, alloc unit ID 72057595081326592 (type Unknown), but it was not detected in the scan.
Msg 2575, Level 16, State 2, Line 1
The error is saying that the first IAM page in the IAM chain page (23:384848)  does not have a reference from metadata.



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
it’s more likely that the metadata became corrupt somehow. If REPAIR_ALLOW_DATA_LOSS didn’t fix it, you’ll need to restore from your backups or export to a new database.



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
引用:
原帖由 UltraSQL 于 2016-12-8 13:43 发表
it’s more likely that the metadata became corrupt somehow. If REPAIR_ALLOW_DATA_LOSS didn’t fix it, you’ll need to restore from your backups or export to a new database.
目前DBCC已经修复了, 目前我们是知道SQL Server的元数据是受损了,导致了一些逻辑不一致,其中我也做过一些实验,只要PAGE中的next page的编号超出这个数据库文件的大小,就会报  read the end of the file的错误。               
就说目前我想知道受损的原因是啥?也就是导致这些元数据逻辑不一致的根因是什么? 是否可以判断?



It's an I/O subsystem error.
You can get more information from 《Microsoft SQL Server I/O Basics》.
本帖最近评分记录
  • joe321 无忧币 +50 热心广援 2016-12-13 17:20



SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
引用:
原帖由 UltraSQL 于 2016-12-8 14:45 发表
It's an I/O subsystem error.
You can get more information from 《Microsoft SQL Server I/O Basics》.
谢谢大神,我先看看



大神好厉害!



6666666666666666



提示: 作者被禁止或删除 内容自动屏蔽
我的51CTO博客

SQL Server MCITP, MVP, MCT, DBA
提示: 作者被禁止或删除 内容自动屏蔽
‹‹ 上一贴:【求助~~~】关于sql复制的。无法连接到订阅服务器 ...   |   下一贴:菜鸟求助 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2017 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com