SQL Server Recovery

Insights Solution for Microsoft SQL Server Error 823

Andrew Jackson ~ Modified: March 17th, 2023 ~ SQL Master Database, SQL Server Error ~ 5 Minutes Reading


SQL Server application is a commonly used database management program and is part of many organizations. Microsoft SQL Server error 823, mostly occur due to hardware problems and other system issues. It indicates that storage system, hardware, any driver, which is in the path of the I/O operation path, has some problem.

This problem can be severe as the data entities and databases are important for users. The error can be caused due to several reasons and if you too are getting this error issue, then the most obvious reason for it is hardware or system errors while reading or writing data into the database files.

Table of Content

What Causes Microsoft SQL Server 823 Occurs?

SQL Server utilizes Windows API’s like ReadFile, ReadFileScatter, WriteFile, WriteFileGather etc. in order to perform the I/O operations. Once these operations are performed the server application will check if there is any error issues allied to these API calls.

In case these API operations are failed throwing an OS error, then the SQL Server will display SQL Error 823. The details of the 823 error message are like below;

SQL Error 823:

Error 823

This error is explained and elaborated below;

  • Error: It can be either OS error or I/O check failure error. For OS error, error number follows the I/O error.
  • In case the error is related to I/O operation, then the failure message in the parentheses can be one amongst the below mentioned message;
    • bad page ID: This message indicates that pageID on the header of page is not the page which was supposed to be read from disk.
    • torn page: If the page is torn and has corruption issues in it then this message is displayed.
    • insufficient bytes transferred: Such message refers to Windows API was done well but incorrect or insufficient bytes were transferred.
  • Operation for SQL Server Error 823: Operation made is Write operation or Read.
  • Offset: This represents the physical byte offset. You can divide this number by 8192 which will give the logical page number which is corrupted.
  • File: This represents the name of the file which is having the problem.

Note: Different versions of SQL Server can have different error message formats. But the reasons and troubleshooting methods are same for all the versions.

Resolution Type 1 for OS Error

Operating System Error: If any read/write Windows API call is failed, SQL server comes across this OS error. This can lead to another Microsoft SQL server error 823 for the Operating system. This error message appears like this:

SQL Page Error

Resolution: The Operating System issue reported as SQL Error 823 is associated with the system problem. In case OS operation is the root cause for error, DBCC CHECKDB statement execution will not report any problem. In that case it is suggested to contact the hardware vendor, Microsoft Support Service, or System Administrator in order to sort out the problem.

It is advised to run the DBCC CHECKDB on the SQL Server databases and if it doesn’t report any problem, then it is quite evident that the system or disk has some issues with it & users need to quickly fix fatal error 823 in SQL server by checking corruption as well.

Resolution Type 2 for Logical Check Failed Error

I/O Logical Check Failed: In case a read/write Windows API call for database is done without any issue, but a particular logic checks on data in unsuccessful due to any index corruption or torn page this error 823 in SQL server can occur. Below mentioned error is an example for the I/O logical error.

SQL Error Msg 1

Resolution: If any such error comes across, run DBCC CHECKDB statement on that databases which is mentioned in the error message. If the statement displays any error then you can rectify those errors.

In case the error still occurs on accessing the SQL database or if any error is not reported by DBCC CHECDB statement, then users can analyze the event log of the system to check for any disk errors occurred prior running the server. One can also contact the hardware vendor for diagnosing the problem.


SQL Server has this inbuilt integrity check tool DBCC CHECKDB to check in the integrity of the databases. It is highly recommended to run this tool whenever any error message occurs while accessing the database. Moreover, users can also use the advance utility in case they have corruption in files as that can easily solve errors like 916, 233, 823. etc.

In case any report is displayed, you can resolve the error and if none of such report is generated you can go for other resolutions or you can try SQL MDF recovery tool to get rid of this I/O logical error. Microsoft SQL Server Error 823 represents that either the problem is with the Operating System or the problem is with the I/O operation.