这是我在
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:mssqllocal_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而编写的. (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|