Question

In the following error message, the reason given is "Invalid Protection Option". What does that indicate?

SQL Server detected a logical consistency-based I/O error: invalid protection option

For the purposes of this question, I don't need to know anything about "how to run DBCC", or "check for corruption". I got that. I'm just curious about the "root cause" piece, and what could possibly cause this flavor of the logical consistency-based I/O error.

Was it helpful?

Solution

What does that indicate?

It indicates that invalid page flags for protection are set, mostly likely caused by something in the hardware, Windows I/O stack, or 3rd party software. In supported SQL Server versions there are three options for page protections:

  1. None
  2. Torn Page
  3. Checksum

Imagine reading a page from disk and doing basic sanity checks against it. One check might be, let's check to make sure the page protection options are set appropriately. If there are three options, having a 4th value set or having multiple options set would be invalid.

I'm just curious about the "root cause" piece, and what could possibly cause this flavor of the logical consistency-based I/O error.

It indicates that something scribbled the data on disk or the data being read from the disk into memory. The root cause for on-disk corruption is extremely hard to get if it isn't reproducible, so at best it's a bad piece of hardware or software in the I/O stack. Worst is it's another application not playing nice and doing whatever it wants to files on that server.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top