The background of a story I'm talking about is this, using SQL SERVER 2000 as the foreground database in a certain POS project, IBM's DB2 do a background database. The environment for the foreground database is such that the operating system is Windows Server (USERS), and the database is SQL Server (E) +sp3,application is a POS system (a real-time trading system). Hardware configuration is: P4 xron 2.4g*2,36g hdd*5 RAID5, 1G memory,hp tape drive, the database capacity is generally kept at 5G or so.
Because the data is more important and the data capacity is small, the backup strategy we require is to do a full backup of the pos_db on the tape drive every day (a cycle of one weeks 7 days) and a full backup on the hard drive at night (master,msdb,pos_db). This keeps double insurance.
1. Failure outbreak:
2003-12-26 13:00
The customer reports that all Pos crashes and server runs very slowly. After restarting the server (starting the alert when checking the raid card) we found this information in the system log of Windeows server:
error:823, severity:24, State:2
I/O error (torn page) detected during read at offset 0x0000001bf96000 in file D: \data\pos_db.mdf '.
This information is available in the error log for SQL Server:
2003-12-10 03:34:22.23 spid56 error:823, severity:24, State:2
2003-12-10 03:34:22.23 spid56 I/O error (torn page) detected during read at offset 0x00000074964000 in file ' D:\DATA\POS_D B.mdf '..
An explanation from MSDN:
I/O logical check FAILURE:IF a read Windows API call/a write Windows API call to a database file is successful, but s Pecific logical checks on the "data are not successful" (a torn page, for example), and a 823 error is raised. The following error message was an example of a 823 error for a I/O logical check failure: