sql-server – MSSQL错误:基于一致性的I / O错误 – 是否可能是由MSSQL或OS问题引起的?

前端之家收集整理的这篇文章主要介绍了sql-server – MSSQL错误:基于一致性的I / O错误 – 是否可能是由MSSQL或OS问题引起的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我在 windows错误日志中看到的:

sql Server detected a logical consistency-based I/O error:
incorrect checksum (expected: 0x19fedd20; actual: 0x19fed5e3).
It occurred during a read of page (1:1764) in database ID 6 at offset 0x00000000dc8000 in file
‘D:\mssql\local_repository_pbdiffimport.mdf’.
Additional messages in the sql Server error log or system event log may provide more detail.
This is a severe 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.

我跑了

dbcc checkdb

哪个告诉我应该用选项REPAIR_ALLOW_DATA_LOSS恢复,所以我最终跑了

DBCC CHECKDB (my_db_name,REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

但这导致大约2 000行丢失.我恢复了备份,但现在我担心这会再次发生,因为我们已经在2周前在同一个数据库中遇到了一致性问题,但后来发生在索引中(重新创建的索引解决了问题).

我们调查了光盘 – RAID5看起来不错,没有错误,也没有任何光盘检查实用程序发现任何硬件问题.

这可能是由操作系统(Windows Server 2003)或MSsql(MSsql Server 2005)引起的吗?

解决方法

一致性可能由硬件或软件的任何因素引起.查看sql日志以调查可能导致该问题的原因.

我的建议:

>确保将数据库选项Page_Verify设置为CHECKSUM.这将在所有写入发生之前进行验证,并且是sql Server 2005上的默认设置.
>每天备份或每天备份多次(视需要而定)
>设置维护计划,每天检查数据库的一致性
>使用补丁程序更新Windows Server和sql Server,第3软件也是如此.
>阅读“Top tips for effective database maintenance”,因为它更详细地解释了我的大部分建议.

我推荐这篇文章很多,因为它是为了帮助那些不知道管理数据库服务器的SysAdmins而编写的.

猜你在找的MsSQL相关文章