PowerFlex: MSSQL 2019 Backup Fails And Reports Data Corruption Or Inconsistency
Summary: When using Windows 2019 SDC and running Microsoft SQL 2019 backup, the backup fails and reports there is data corruption or inconsistency (DI).
Symptoms
- Windows 2019 with SDC installed (Note: RDM/VMDK disk devices are not impacted).
- PowerFlex In-flight checksum feature is enabled.
- Microsoft SQL 2019 backup fails with error:
The log scan number (0:-1218248704:37) passed to log scan in database 'TEST_VOL' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup."
- PowerFlex traces (MDM, SDS, and SDC) there is no indication of any issue.
Impact
Microsoft SQL 2019 backup failure
There is no real impact on data or any real data corruption or DI.
Cause
A software code issue in the SDC component, specifically with the in-flight checksum feature
When the in-flight checksum is enabled, the Windows SDC changes the FPU state during checksum calculations and does not restore it, which causes other users of FPU instructions, in this case, the MSSQL application, to receive unexpected results.
Resolution
As a workaround in-flight checksum should be disabled.
If the workaround is not feasible, upgrade to the fixed version, mentioned in the Fixed In Version section below. The fix includes a checksum calculation flow that will save the FPU state before calculating the checksum and restore it after the calculation is done.
Impacted Version
PowerFlex 3.x
PowerFlex 4.x
Fixed In Version
PowerFlex 3.6.5
PowerFlex 4.5.3