Search Knowledge Base
KB #240017: Cyclic Redundancy Check Error (CRC) When Starting SQL Server
What the CRC error means and how to fix it
This applies only to instances of SQL that have been secured with the NetLib Admin Wizard (SECADMIN.EXE) or the associated API. If you are using the APIs only, it is unlikely that the problem is related to Encryptionizer. When you have secured SQL Server with the Admin Wizard, and you have selected the “Validate Executable” option (not on by default), Encryptionizer generates a complex CRC to ensure that no one has replaced or modified the SQL Server service executable, SQLSERVR.EXE. In fact, Encryptionizer acts as an additional anti-virus check on the executable. It could be modified/replaced for one of the following reasons:
- By accident (e.g., accidentally restoring an old version)
- Deliberately but proper (e.g., a service pack has been applied)
- Deliberately but malicious (e.g., infected with a virus)
If the SQL executable has been changed, the next time you go to SQL Server, Encryptionizer will generate the CRC error and refuse to allow SQL to start. What to do next depends on the cause of the message.
- If replaced/modified by accident, restore or reinstall the correct SQL executable.
- If deliberate but proper, use SECADMIN to re-secure SQL Server after the service pack has been applied.
- If deliberate but malicious, run a virus scan and then restore or reinstall the original SQL executable.
Encryptionizer does not check the CRC by default. It will do that only if the “Validate Executable” option has been selected. to avoid this CRC check, do not select that option when securing the SQL instance. However, this is not recommended if the SQL is on a system that is subject to high physical risk.
240012 How to apply a SQL Server Service Pack to an instance secured with “Validate Executable”